\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{ifluatex}

\ifluatex
 \usepackage{fontspec}
  %\setmainfont[Ligatures=TeX]{xits}
  %\setmathfont[math-style=ISO]{xits-math}
 \setmainfont[Ligatures=TeX]{Latin Modern Roman}
 \fontspec[SmallCapsFeatures={Letters=SmallCaps}]{Latin Modern Roman}
 \usepackage{unicode-math}
 \setmathfont[math-style=ISO]{latinmodernmath-regular.otf}
 %\setmathfont[math-style=ISO]{xits-math.otf}
\else
 \usepackage[utf8]{inputenc}
\fi

%\def\pgfsysdriver{pgfsys-tex4ht.def} % force htlatex to generate svg from tikz figures
\usepackage{microtype}
\usepackage{html}
\usepackage{graphicx}
\usepackage{tikz}
\usepackage{hyperref}
\usepackage[top=0.1\paperheight, bottom=0.1\paperheight, left=0.1\paperwidth, right=0.1\paperwidth]{geometry}
%\usepackage[backend=biber]{biblatex}
\usepackage{ifthen}

\usetikzlibrary{external} 
\makeatletter
\@ifpackageloaded{tex4ht}{
\tikzexternalize[mode=only graphics]
\tikzset{png export/.style={/pgf/images/external info,/pgf/images/include external/.code={%
\includegraphics[width=\pgfexternalwidth,height=\pgfexternalheight]{##1.png}%
}
}
}
\tikzset{png export}% 
}{%
\tikzexternalize%
\tikzset{pdf export/.style={/pgf/images/external info,/pgf/images/include external/.code={%
\includegraphics[width=\pgfexternalwidth,height=\pgfexternalheight]{##1.pdf}%
}
}
}
\tikzset{pdf export}% 
}
\makeatother
%\tikzexternalize[prefix=figures_external/]


\input{../include/include.tex}

%% fix for \blx@shorthands as this was removed from current biblatex version
\makeatletter
\@ifpackageloaded{tex4ht}{
  \def\blx@shorthands{}
%  \def\blx@unitmark{}
}
\makeatother

\renewcommand{\topfraction}{0.99}	% 99% of page top can be a float
\renewcommand{\bottomfraction}{0.99}	% 99% of page bottom can be a float
\renewcommand{\textfraction}{0.01}	% only 1% of page must to be the text
\renewcommand{\floatpagefraction}{0.99} % 99% of whole page can be a float
\setcounter{totalnumber}{5} %maximum floating objects on one page

\newcommand{\descitem}[1]{{\noindent \textbf{#1}}:}
\newcommand{\elemkeyword}[1]{\descitem{Keyword}~\param{#1}} % Convenience macro

\newcommand{\param}[1]{\texttt{#1}} % Use when referring to fields in text.
\newcommand{\optional}[1]{[#1]} % Denotes optional parameter
\newcommand{\field}[2]{\param{#1}~\#{\tiny(#2)}} % Fields #1 = identifier, #2 = type
\newcommand{\optField}[2]{\optional{\field{#1}{#2}}}
\newcommand{\fieldnotype}[1]{\param{#1}}
\newcommand{\optFieldnotype}[1]{[\param{#1}]}
\newcommand{\componentNum}{(\param{num}\#){\tiny(in)}} % For the component number.
\newcommand{\entKeyword}[1]{*\textbf{#1}} % For general keywords, e.g. ``engnmodel''
\newcommand{\entKeywordInst}[1]{\textbf{#1}} % For specific keywords, e.g. ``nlinearstatic''

% macros for items related to parallel
\newcommand{\Pmode}[1]{{\sffamily #1}}
\newcommand{\Pparam}[1]{\param{#1}}
\renewcommand{\parallel}[1]{$\langle${#1}$\rangle$}
\newcommand{\PentKeyword    }[1]{\parallel{\entKeyword{#1}}}
\newcommand{\PentKeywordInst}[1]{\parallel{\entKeywordInst{#1}}}
\newcommand{\Pfield         }[2]{\parallel{\field{#1}{#2}}}
\newcommand{\Pfieldnotype   }[1]{\parallel{\fieldnotype{#1}}}
\newcommand{\PoptField      }[2]{\parallel{\optField{#1}{#2}}}
\newcommand{\PoptFieldnotype}[1]{\parallel{\optFieldnotype{#1}}}
% user defined math commands
\newcommand{\mbf}[1]{\mbox{\boldmath$#1$}}
\font\mbff=cmbsy10\def\mbfx#1{\hbox{\mbff#1}}%\let\mbf\Mbff
\newcommand{\del}[2]{\mbox{$\displaystyle\frac{#1}{#2}$}}
\newcommand{\pard}[2]{\frac{\partial{#1}}{\partial{#2}}}
\newcommand{\der}[2]{\frac{{\rm d}{#1}}{{\rm d}{#2}}}


\newcommand{\templabel}{}% stores the label
\newcommand{\tempcaption}{}% stores the caption
\newcounter{nelpar}

\newenvironment{elementsummary}[5]{%
  \gdef\tempcaption{#4}% store the caption so we can use it later
  \gdef\templabel{#5}% store the label so we can use it later
  \setcounter{nelpar}{0}%
  \begin{center} %
    \begin{table}[!htb] %
      \begin{tabular}{|l|p{9cm}|}\hline %
        {\bf Keyword} & \bf{#1}\\ %
        {Description} & {#2}\\ %
        {Specific parameters} & {#3}\\ \hline %
}{
  \\ \hline % newline needs to be there, htlatex will fail otherwise
      \end{tabular}%
      \caption{\tempcaption}% use the stored caption
      \label{\templabel}% use the stored label (*after* the caption)
    \end{table}%
  \end{center}%
}

\newcommand{\elementParam}[1]{%
  \ifthenelse{\value{nelpar}>0} %
             {&{#1}}%
             {\setcounter{nelpar}{1}Parameters&{#1}}%
             \\%
}
\newcommand{\elementDescription}[2]{{#1} & {#2}\\}
\newcommand{\ignore}[1]{}


\newcounter{rcc}
\newenvironment{record}[1][\textwidth]{\setcounter{rcc}{0}\begin{tabular*}{#1}{|ll@{\extracolsep{\fill}}r}}{\end{tabular*}\\}
%\newenvironment{record}{\begin{tabular}{|llr}}{\end{tabular*}\\}
\newcommand{\recentry}[2]{\ifthenelse{\value{rcc}>0}{&$\backslash$ \\}{\setcounter{rcc}{1}}{#1}&{#2}}


%\addbibresource{References.bib}

\begin{document}

%\title{\includegraphics[width=0.7\textwidth]{oofem-logo-contour.pdf}\\OOFEM Element Library Manual}
\title{OOFEM Element Library Manual}
\author{Bořek Patzák \\ \\
Czech Technical University\\
Faculty of Civil Engineering\\
Department of Structural Mechanics\\
Th\'akurova 7, 166 29 Prague, Czech Republic
}
\maketitle

\newpage
\tableofcontents
\newpage
\listoffigures

\section{Introduction}
In this manual the detailed description of available elements 
is given. The actual availability of particular elements depends on
OOFEM configuration. Elements are specified using element records,
which are part of oofem input file. The general format of element
record is described in OOFEM input manual. 

Every element is described in a separate section. The section includes the ``element keyword'', which
determines the element type in element record, approximation and
interpolation characteristics, required cross section properties
(which are summarized in ``CS properties'' part), and a summary of
element features. The ``Load'' section contains useful
information about the types of loadings supported by particular elements.



\section{Elements for Structural Analysis (SM Module)}


\subsection{Truss Elements}

\subsubsection{Truss 1D element}
\label{Truss1d}

Represents linear isoparametric truss element in 1D. The elements are
assumed to be located along the x-axis. Requires cross section area to be
specified. The element features are summarized in Table~\ref{truss1dsummary}.

\begin{elementsummary}{truss1d}{1D truss element}{-}{truss1d element summary}{truss1dsummary}
\elementDescription{Unknowns}{Single dof (u-displacement) is required in each node}
\elementDescription{Approximation}{Linear approximation of displacement and geometry}
\elementDescription{Integration}{Exact}
\elementDescription{Features}{Full dynamic analysis support, Full nonlocal constitutive support, Adaptivity support}
\elementDescription{CS properties}{Area is required}
\elementDescription{Loads}{Body loads are supported. Boundary loads are
not supported in current implementation}
\elementDescription{Status}{Reliable}
\end{elementsummary}



\subsubsection{Truss 2D element}
\label{Truss2d}



Two node linear isoparametric truss element for 2D analysis. The
element geometry can be specified in (x,z), (x,y), or (y,z) plane. The element features are summarized in Table~\ref{truss2dsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{truss2d.tikz}
 \end{makeimage}
 \caption{Truss2d element in (x,z) plane.}
\end{figure}

\begin{elementsummary}{truss2d}{2D truss element}{\optField{cs}{in}}{truss2d element summary}{truss2dsummary}
\elementParam{\param{cs}: this parameter can be used to
change default definition plane. The supported values of \param{cs}
are following: 0 for (x,z) plane (default), 1 for (x,y)
plane, and 3 for (y,z) plane.}
\elementDescription{Unknowns}{Two dofs representing displacements in definition plane are required
in each node. The element can be used in different planes, default
definition plane is (x,z). The parameter \param{cs} can be used to
change default definition plane.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Exact.}
\elementDescription{Features}{Full dynamic analysis support. Full nonlocal
constitutive support.}
\elementDescription{CS properties}{cross section area should be
provided.}
\elementDescription{Loads}{Edge loads are supported, Edge number should be equal
to 1}
\elementDescription{Status}{Reliable}
\end{elementsummary}{truss2d element summary}{truss2dsummary}


\subsubsection{Truss 3D element}
\label{Truss3d}

Two node linear isoparametric truss element for 3D analysis. The
element geometry is specified in (x,y,z) space. The element features are summarized in Table~\ref{truss3dsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{truss3d.tikz}
 \end{makeimage}
 \caption{Truss3d element in (x,y,z) space.}
\end{figure}


\begin{elementsummary}{truss3d}{3D truss element}{-}{truss3d element summary}{truss3dsummary}
\elementDescription{Unknowns}{Three displacement DOFs (in x, y, and z directions) are required
in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Exact.}
\elementDescription{Features}{Full dynamic analysis support. Full nonlocal
constitutive support.}
\elementDescription{CS properties}{cross section area should be
provided.}
\elementDescription{Status}{Reliable}
\end{elementsummary}



%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Beam Elements}
\subsubsection{Beam2d element}
Beam element for 2D analysis, based on Timoshenko hypothesis. Structure should be defined in x,z
plane. The internal condensation
of arbitrary DOF is supported and is performed in local coordinate
system. On output, the local end displacement and local end forces are
printed. The element features are summarized in Table~\ref{beam2dsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
   \input{beam2d.tikz}
 \end{makeimage}
 \caption{Beam2d element. Definition of local c.s.(a)  and definition of
 local end forces and local element dofs (b).}
 \label{beam2dfig}
\end{figure}

\begin{elementsummary}{beam2d}{2D beam element}{\optField{dofstocondense}{ia}}{beam2d element summary}{beam2dsummary}
\elementParam{\param{dofstocondense}: allows to specify local element dofs that
will be condensed. The numbering of local element dofs is shown in
fig.~\ref{beam2dfig}. The size of this array should be equal to
number of local element dofs (6) and nonzero value indicates the
corresponding dof will be condensed.}
\elementDescription{Unknowns}{
Three dofs (u-displacement, w-displacement, y-rotation) are required
in each node.}
\elementDescription{Approximation}{Cubic  approximations of lateral displacement and
rotation are used. For longitudinal displacement the linear one is
assumed.}
\elementDescription{Integration}{Exact.}
\elementDescription{Features}{Full dynamic analysis support. Linear stability analysis support.}
\elementDescription{CS properties}{Area,inertia moment along y-axis (\param{iy} parameter) and equivalent shear area (\param{shearareaz} parameter) should be specified.}
\elementDescription{Loads}{Constant and linear edge loads are supported, shear
influence is taken into account.
Edge number should be equal to 1. Temperature load is
supported, the first coefficient of temperature load represent
mid-plane temperature change, the second one represent difference
between temperature change of local z+ and local z- surfaces of beam (in local coordinate
system). Temperature load require that the ``thick'' property of cross
section model is defined.}
\elementDescription{Status}{Reliable}
\end{elementsummary}

\subsubsection{Beam3d element}
Beam element for 3D {\bf linear} analysis, based on Timoshenko hypothesis. The internal condensation
of arbitrary DOF is supported and is performed in local coordinate
system. On output, the local end-displacement and local end-forces are
printed. Requires the local coordinate system to be chosen according
to main central axes of inertia. Local element 
coordinate system is determined by the following rules:
\begin{enumerate}
\item let first element node has following coordinates $(x_i, y_i, z_i)$
and the second one $(x_j, y_j, z_j)$,
\item direction vector of local x-axis is then $\mathbf{a}_1 = (x_j-x_i, y_j-y_i, z_j-z_i)$,
\item local y-axis direction vector lies in plane defined by local
x-axis direction vector ($\mathbf{a}_1$) and given
point (k-node with coordinates $(x_k, y_k, z_k)$) - so called reference node,
\item local z-axis is then determined as vector product of local
x-axis direction vector ($\mathbf{a}_1$) by vector $(x_k-x_i, y_k-y_i, z_k-z_i)$,
\item local y-axis is then determined as vector product of local
z-axis direction vector by local x-axis direction vector. 
\end{enumerate}
The element features are summarized in Table~\ref{beam3dsummary}.
\begin{figure}[htb]
 \centering
 \begin{makeimage}
   \input{beam3d.tikz}
 \end{makeimage}
 \caption{Beam3d element. Definition of local c.s., local end forces
 and local element dofs numbering.}
 \label{beam3dfig}
\end{figure}


\begin{elementsummary}{beam3d}{3D beam element}{\field{refnode}{in} \optField{dofstocondense}{ia}}{beam3d element summary}{beam3dsummary}
\elementParam{\param{refnode}: sets reference node to determine the local coordinate system of element.}
\elementParam{\param{dofstocondense}: allows to specify local element dofs that will be condensed. The numbering of local element dofs is shown in fig.~\ref{beam3dfig}. The size of this array should be equal to number of local element dofs (12) and nonzero value indicates the corresponding dof will be condensed.}
\elementDescription{Unknowns}{Six dofs (u,v,w-displacements and x,y,z-rotations) are required in each node.}
\elementDescription{Approximation}{Cubic  approximations of lateral displacement and rotation (along local y,z axes) are used. For longitudinal displacement and the rotation along local x-axis (torsion) the linear approximations are assumed.}
\elementDescription{Integration}{Exact.}
\elementDescription{Features}{Full dynamic analysis support. Linear stability analysis support.}
\elementDescription{CS properties}{Area, inertia moment along y and z axis (\param{iy} and \param{iz} parameters), torsion inertia moment (\param{ik} parameter) and either cross section area shear correction factor (\param{beamshearcoeff} parameter) or equivalent shear areas (\param{shearareay} and \param{shearareaz} parameters) are required. These cross section properties are assumed to be defined in local coordinate system of element.}
\elementDescription{Loads}{Constant and linear edge loads are supported. Edge number should be equal to 1. Temperature load is supported, the first coefficient of temperature load represent mid-plane temperature change, the second one represent difference between temperature change of local z+ surface and local z- surface surface of beam and the third one represent difference between temperature change of local y+ surface and  local y- surface of beam. Requires the ``thick'' (measured in direction of local z axis) and ``width'' (measured in direction of local y axis) cross section model properties to be defined.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Lattice elements}
\subsubsection{Lattice2d element}
Represents two-node lattice element. Each node has 3 degrees of freedom.
The element is based on the Rigid Body Spring Model originally developed by Kawai and later delveloped by Bolander for modelling fracture in concrete. The main idea is to model the elastic and inelastic response of a connection of two nodes by a set of springs located at the contact facet of two rigid bodies, which is the mid-cross-section of the element. Displacement jumps are computed at the mid-cross-section, which are smeared out over the element length in the form of strains.
The element is defined in x,y plane (see Figure~\ref{lattice2dfig}).
The element features are summarized in Table~\ref{lattice2dsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{lattice2d.tikz}
 \end{makeimage}
 \caption{Lattice2d element. Node numbering, DOF numbering and definition of integration point $C$.}
 \label{lattice2dfig}
\end{figure}

\begin{elementsummary}{lattice2d}{2d lattice element}{\field{thick}{rn} \field{width}{rn} \field{gpCoords}{ra}}{lattice2d element summary}{lattice2dsummary}
\elementParam{\param{thick}: defines the out of plane ($z$-direction) thickness}
\elementParam{\param{width}: defines the width of the midpoint cross-section in the $x$-$y$ plane with the point $C$ at its centre}
\elementParam{\param{gpCooords}: array of the coordinates of the integration point $C$ in the global coordinate system}
\elementDescription{Unknowns}{Three dofs ($u$-displacement, $v$-displacement, $w$-rotation) are required in each node.}
\end{elementsummary}

The theory of lattice2d is described in the paper ``P. Grassl and M. Jir\'{a}sek. Meso-scale approach to modelling the fracture process zone of concrete subjected to uniaxial tension. International Journal of Solids and Structures. Volume 47, Issues 7-8, pp. 957-968, 2010.''

\subsubsection{Lattice2dBoundary element}
Represents three-node lattice element for boundary of 2d periodic cells. The first two nodes have 3 degrees of freedom as for the element lattice2d. The third node is used to control the loading of the periodic cell. It has three components which are displacements, which are produces of the macroscopic (average) strain components and length of the peridodic cell as $aE_{xx}$, $bE_{xx}$  and $bG_{xy}$ and the length of the periodic cell. The DOFs of the node that lies outside the periodic are computed from those of the periodic image inside the cell and the DOFs at the third node (Figure~\ref{lattice2dboundaryfig}). The coordinates $x$ and $y$ of the third node are the lengths $a$ and $b$ of the periodic cell, respectively.  The element is defined in x,y plane. The strain components at the additional node have the meaning of average strains in the periodic cell. The specific input parameters for this element in addition to those used for lattice2d are shown in Table~\ref{lattice2dboundarysummary}. 
\begin{figure}[htb]
  \centering
  \includegraphics[width=0.4\textwidth]{./lattice2dboundaryfig.pdf}
 \caption{Lattice2dboundary element. Elements with cross boundary of periodic cell use DOFs of node inside cell and average strain values of periodic cell.}
 \label{lattice2dboundaryfig}
\end{figure}

\begin{elementsummary}{lattice2dboundary}{2d lattice boundary element}{\field{location}{in}}{lattice2dboundary element summary}{lattice2dboundarysummary}

\elementParam{\param{location}: number between 1 and 8 which specifies the location of the node with respect to the periodic cell.}

\elementDescription{Unknowns}{Nine DOFs are required, which are $u$-displacement, $v$-displacement and $w$-rotation at nodes 1 and 2, and $aE_{xx}$, $bE_{yy}$ and $bG_{xy}$ at node 3.}
\elementDescription{Reference}{\cite{GraJir10}}
\end{elementsummary}

\subsubsection{Lattice3d element}
Lattice3d represents a two-node 3d lattice element. Each node has six degrees of freedom as shown in Figure~\ref{lattice3dfig}.
The element is based on the Rigid Body Spring Model originally developed by Kawai and later delveloped by Bolander for modelling fracture in concrete. The main idea is to model the elastic and inelastic response of a connection of two nodes by a set of springs located at the contact facet of two rigid bodies, which is the mid-cross-section of the element. The properties of the mid-cross-section are internally computed from its vertices which are given as input in the global coordinate sytem. Displacement jumps are computed at the mid-cross-section, which are smeared out over the element length in the form of strains.
The input parameters for this element are shown in Table~\ref{lattice3dsummary}. 

\begin{figure}[htb]
  \centering
  \includegraphics[width=0.3\textwidth]{./lattice3d.pdf}
 \caption{Lattice3d element. Node numbering, DOF numbering, cross-section vertices and local coordinate system at integration point $C$.}
 \label{lattice3dfig}
\end{figure}

\begin{elementsummary}{lattice3d}{3d lattice element}{\field{polycoords}{ra}  \field{couplingflag}{in} \field{couplingnumbers}{ra} \field{pressures}{ra} \field{mlength}{rn}}{lattice3d element summary}{lattice3dsummary}
\elementParam{\param{polycooords}: array of the coordinates of the vertices of the mid-cross-section of the lattice element in the global coordinate system.}
\elementParam{\param{couplingflag}: flag (optional parameter. Default is 0) which activates coupling with a transport lattice element.}
\elementParam{\param{couplingnumbers}: array of numbers of transport lattice elements (optional parameter), which are coupled with the 3d lattice element.}
\elementParam{\param{pressures}: array of pressure values (optional parameter), which are used to consider influence of fluid pressure on mechanical response.}
\elementParam{\param{mlength}: minimum length (optional parameter) is used to check if the cross-section of the element is not too small. Default value is 1.e-20.}
\elementDescription{Unknowns}{Six dofs ($u$-displacement, $v$-displacement, $w$-displacement, $u$-rotation, $v$-rotation and $w$-rotation) are required in each node.}
\elementDescription{Reference}{\cite{GraBol16}}
\end{elementsummary}


\subsubsection{Lattice3dBoundary element}
This element represents a three-noded 3d lattice element for boundaries of 3d periodic cells. The first two nodes have 6 degrees of freedom as for the element lattice3d. The third node is used to control the loading of the periodic cell using three normal ($aE_{xx}$, $bE_{yy}$ and $zE_{zz}$) and three shear strain ($cG_{yz}$, $cG_{xz}$, $bG_{xy}$) components. Here, $a$, $b$ and $c$ are the three dimensions of the periodic cell. The DOFs of the node that lies outside the periodic are computed from those of the periodic image inside the cell and the DOFs at the third node (Figure~\ref{lattice3dboundaryfig}). The connection between periodic nodes is defined as
\begin{equation}
  \mathbf{x}^{'} = \mathbf{M} \mathbf{x}
\end{equation}
Here, $\mathbf{x}^{'}$ and $\mathbf{x}$ are the nodes inside and outside, respectively, and $\mathbf{M}$ is the translation matrix, for which the input is provided in the form of a location parameter as shown in Table~\ref{lattice3dboundarysummary}. 

\begin{figure}[htb]
  \centering
  \includegraphics[width=0.6\textwidth]{./lattice3dboundaryfig.pdf}
 \caption{Lattice3dboundary element. Elements with cross boundary of periodic cell use DOFs of node inside cell and average strain values of periodic cell.}
 \label{lattice3dboundaryfig}
\end{figure}

\begin{elementsummary}{lattice3dboundary}{3d lattice boundary element}{\field{location}{in}}{lattice3dboundary element summary}{lattice3dboundarysummary}
\elementParam{\param{location}: array of two numbers between number between 1 and 26, which specifies the location of the two nodes with respect to the 3d periodic cell.}
\elementDescription{Unknowns}{Six dofs ($u$-displacement, $v$-displacement, $w$-displacement, $u$-rotation, $v$-rotation and $w$-rotation) are required in each of the first two node. Node 3 requires the 6 quantities to control the periodic cell $aE_{xx}$, $bE_{yy}$, $zE_{zz}$, $cG_{yz}$, $cG_{xz}$ and $bG_{xy}$ }
\elementDescription{Reference}{\cite{AthWheGra18}}
\end{elementsummary}

\subsubsection{Latticelink3d}
This element represents a two-node 3d link element connecting 3d beam and 3d lattice elements. Each node has six degrees of freedom. 
The input parameters for this element are shown in Table~\ref{latticelink3dsummary}. 

\begin{elementsummary}{latticelink3d}{3d lattice link element}{\field{length}{rn}  \field{diameter}{rn} \field{dirvector}{ra} \field{l\_end}{rn}}{latticelink3d element summary}{latticelink3dsummary}
\elementParam{\param{length}: bond length}
\elementParam{\param{diameter}: diameter }
\elementParam{\param{dirvector}: direction vector in which bond-slip occurs.}
\elementParam{\param{l\_end}: array of pressure values (optional parameter), which are used to consider influence of fluid pressure on mechanical response.}
\elementParam{\param{mlength}: minimum length (optional parameter) is used to check if the cross-section of the element is not too small. Default value is 1.e-20.}
\elementDescription{Unknowns}{Six dofs ($u$-displacement, $v$-displacement, $w$-displacement, $u$-rotation, $v$-rotation and $w$-rotation) are required in each node.}
\elementDescription{Reference}{\cite{GraAnt19}}
\end{elementsummary}

\subsubsection{Latticelink3dboundary}
Represents three-node 3d boundary link element connecting 3d beam and 3d lattice elements. The first two nodes have the same meaning as for latticelink3d. The third node is used to control the loading of the periodic cell using three normal (xx, yy and zz) and three shear strain (yz, xz, xy) components.
The specific input parameters for this element in addition of those for latticelink3d are shown in Table~\ref{latticelink3dboundarysummary}. 

\begin{elementsummary}{latticelink3dboundary}{3d lattice link boundary element}{{ \field{location}{in} }{rn}}{latticelink3dboundary element summary}{latticelink3dboundarysummary}
\elementParam{\param{location}: }
\elementDescription{Unknowns}{Six dofs ($u$-displacement, $v$-displacement, $w$-displacement, $u$-rotation, $v$-rotation and $w$-rotation) are required in each node.}
\elementDescription{Reference}{\cite{GraAnt19}}
\end{elementsummary}

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Plane Stress Elements}
\subsubsection{PlaneStress2d}
Represents isoparametric four-node quadrilateral plane-stress
finite element. Each node has 2 degrees of freedom.
Structure should be defined in x,y plane. 
The nodes should be numbered anti-clockwise (positive rotation around
z-axis).  The element features are summarized in Table~\ref{planestress2dsummary}.

The generalization of this element, that can be positioned arbitrarily in space is \param{linquad3dplanestress} element.
This element requires 3 displacement degrees of freedon in each node and assumes, that the element geometry is flat, i.e. all nodes are in the same plane.
The element features are summarized in Table~\ref{linquad3dplanestresssummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{planestress2d.tikz}
 \end{makeimage}
 \caption{PlaneStress2d element. Node numbering, edge numbering and definition of local edge c.s.(a).}
 \label{Planestress2dfig}
\end{figure}

\begin{elementsummary}{planestress2d}{2D quadrilateral element for plane stress analysis}{\optField{NIP}{in}}{planestress2d element summary}{planestress2dsummary}
\elementParam{\param{NIP}: allows to set the number of integration points}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using Gauss integration formula in 1, 4 (default), 9 or 16 integration points.
The default number of integration points used can be overloaded using \param{NIP} parameter.
Reduced integration for shear terms is employed. Shear terms are always integrated using the 1-point integration rule.}
\elementDescription{Features}{Nonlocal constitutive support, Geometric nonlinearity support.}
\elementDescription{CS properties}{cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are supported and computed using numerical integration.
The side numbering is following. Each i-th element side begins in i-th element node and ends on next element node (i+1-th node or 1-st node, in the case of side number 4).
The local positive edge x-axis coincides with side direction, the positive local edge y-axis is rotated 90 degrees anti-clockwise (see fig. (\ref{Planestress2dfig})).}
\elementDescription{Nlgeo}{0, 1.}
\elementDescription{Status}{Reliable}
\end{elementsummary}

\begin{elementsummary}{linquad3dplanestress}{3D quadrilateral element for plane stress analysis}{\optField{NIP}{in}}{linquad3dplanestress element summary}{linquad3dplanestresssummary}
\elementParam{\param{NIP}: allows to set the number of integration points}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using Gauss integration formula in 1, 4 (default), 9 or 16 integration points. The default number of integration points used can be overloaded using \param{NIP} parameter.
Reduced integration for shear terms is employed. Shear terms are always integrated using the 1-point integration rule.}
\elementDescription{Features}{Nonlocal constitutive support, Geometric nonlinearity support.}
\elementDescription{CS properties}{cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are supported and computed using numerical integration.
The side numbering is following. Each i-th element side begins in i-th element node and ends on next element node (i+1-th node or 1-st node, in the case of side number 4).
The local positive edge x-axis coincides with side direction, the positive local edge y-axis is rotated 90 degrees anti-clockwise (see fig. (\ref{Planestress2dfig})).}
\elementDescription{Nlgeo}{0, 1.}
\elementDescription{Status}{Basic functionality tested, element loads need further testing.}
\end{elementsummary}

\subsubsection{QPlaneStress2d}

Implementation of quadratic isoparametric eight-node quadrilateral
plane-stress  finite element. Each node has 2 degrees of freedom.
The node numbering is anti-clockwise and is explained in fig. (\ref
{qplanstrssfig}). The element features are summarized in Table~\ref{qplanestress2dsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{qplanstrss.tikz}
 \end{makeimage}
 \caption{QPlaneStress2d element - node numbering.}
 \label{qplanstrssfig}
\end{figure}

\begin{elementsummary}{qplanestress2d}{2D quadratic isoparametric plane stress element}{\optField{NIP}{in}}{qplanestress2d element summary}{qplanestress2dsummary}
\elementParam{\param{NIP}: allows to set the number of integration points}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration using Gauss integration formula in 4 (the default), 9 or 16 integration points. The default number of integration points used can be overloaded using \param{NIP} parameter.}
\elementDescription{Features}{Adaptivity support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body and boundary loads are supported.}
\elementDescription{Nlgeo}{0, 1.}
\elementDescription{Status}{Stable}
\end{elementsummary}




\subsubsection{TrPlaneStress2d}
Implements an triangular three-node  constant strain plane-stress  
finite element. Each node has 2 degrees of freedom.
The node numbering is anti-clockwise. The element features are summarized in Table~\ref{trplanestress2dsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
   \input{trplanstrss.tikz}
 \end{makeimage}
 \caption{TrPlaneStress2d element - node and side numbering.}
 \label{TrPlanestressfig}
\end{figure}

\begin{elementsummary}{trplanestress2d}{2D linear triangular isoparametric plane stress element}{-}{trplanestress2d element summary}{trplanestress2dsummary}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using one point gauss integration formula.}
\elementDescription{Features}{Nonlocal constitutive support, Edge load support, Geometric nonlinearity support, Adaptivity support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are
supported and are computed  using numerical integration. The side numbering is
following. Each i-th element side begins in i-th element node and
ends on next element node (i+1-th node or 1-st node, in the case of 
side number 3). The local positive edge x-axis coincides with side
direction, the positive local edge y-axis is rotated 90 degrees
anti-clockwise (see fig. (\ref{TrPlanestressfig})).}
\elementDescription{Nlgeo}{0, 1.}
\elementDescription{Status}{Reliable}
\end{elementsummary}



\subsubsection{QTrPlStr}
Implementation of quadratic six-node plane-stress finite
element. Each node has 2 degrees of freedom. Node numbering is
anti-clockwise and is shown in fig. (\ref{qtrplanstressfig}). The element features are summarized in Table~\ref{qtrplstrsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{qtrplanstrss.tikz}
 \end{makeimage}
 \caption{QTrPlStr element - node and side numbering.}
 \label{qtrplanstressfig}
\end{figure}

\begin{elementsummary}{qtrplstr}{2D quadratic triangular plane stress element}{\optField{NIP}{in}}{qtrplstr element summary}{qtrplstrsummary}
\elementParam{\param{NIP}: allows to set the number of integration points}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration using gauss integration formula in 4 points (the
default) or in 7 points (using \param{NIP} parameter).}
\elementDescription{Features}{Adaptivity support (error indicator).}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Boundary loads are supported.}
\elementDescription{Nlgeo}{0, 1.}
\elementDescription{Status}{-}
\end{elementsummary}




\subsubsection{TrPlaneStrRot}
Implementation of triangular three-node  plane-stress 
finite element with independent rotation field.
Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{trplanestrrotsummary}.

The generalization of this element, that can be positioned arbitrarily in space is \param{trplanestrrot3d} element. This element requires 6 degrees of freedon in each node.
The element features are summarized in Table~\ref{trplanestrrot3dsummary}.

The implementation is based on the following paper: Ibrahimbegovic, A., Taylor, R.L., Wilson, E. L.: A robust membrane qudritelar element with rotational degrees of freedom, Int. J. Num. Meth. Engng., 30, 445-457, 1990.
The rotation field is defined as $\omega = \del{1}{2}(\der{v}{x}-\der{u}{y}) = \nabla_u\mbf{u}$. The following form of potential energy functial is assumed:
\begin{equation*}
\Pi = \del{1}{2}\int_{\Omega}\mbf{\sigma}^T\mbf{\varepsilon}\ d\Omega + \int_{\Omega}\mbf{\tau}^T(\nabla_u\mbf{u}-\omega)\ d\Omega - \int_\Omega \mbf{X}^T\mbf{u}\ d\Omega
\end{equation*}
where $\mbf{\tau}$ is pseudo-stress (component of anti-symmetric stress tensor) working on dislocation $(\nabla_u\mbf{u}-\omega)$; the following constitutive relation foris assumed: $\mbf{\tau} = G(\nabla_u\mbf{u}-\omega)$, where $G$ is elasticity modulus in shear.

\begin{elementsummary}{trplanestrrot}{2D linear triangular plane stress element with rotational DOFs}{\optField{NIP}{in} \optField{NIPRot}{in}}{trplanestrrot element summary}{trplanestrrotsummary}
\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementParam{\param{NIPRot}: allows to set the number of integration points for integration of terms associated to rotational field.}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, z-rotation) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using gauss integration formula in 4 points (default) or using 1 or 7 points (using \param{NIP} parameter).
Integration of strains associated with rotational field integration using 1 point is default (4 and 7 points rules can be specified using \param{NIPRot} parameter).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}

\begin{elementsummary}{trplanestrrot3d}{3D linear triangular plane stress element with rotational DOFs}{\optField{NIP}{in} \optField{NIPRot}{in}}{trplanestrrot3d element summary}{trplanestrrot3dsummary}
\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementParam{\param{NIPRot}: allows to set the number of integration points for integration of terms associated to rotational field.}
\elementDescription{Unknowns}{Six dofs (u-displacement, v-displacement, w-displacement, x-rotation, y-rotation, z-rotation) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using gauss integration formula in 4 points (default) or using 1 or 7 points (using \param{NIP} parameter).
Integration of strains associated with rotational field integration using 1 point is default (4 and 7 points rules can be specified using \param{NIPRot} parameter).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}

\subsubsection{TrPlaneStressRotAllman}
Implementation of triangular three-node  plane-stress 
with nodal rotations.
Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{TrPlaneStressRotAllmansummary}.

The generalization of this element, that can be positioned arbitrarily in space is \param{trplanestressrotallman3d} element. This element requires 6 degrees of freedon in each node. The element features are summarized in Table~\ref{trplanestressrotallman3dsummary}.


The implementation is based on the following paper: Allman, D.J.: A compatible triangular element including vertex rotations for plane elasticity analysis, Computers \& Structures, vol. 19, no. 1-2, pp. 1-8, 1984.
The element is based on plane stress element with quadratic interpolation. The displacements in midside nodes are expressed using vertex displacements and vertex rotations (for edge normal displacement component); 
the tangential component is interpolated from vertex values.
For particular element side starting at i-th vertex and ending in j-th vertex the normal and tangential displacements at edge midpoint can be expressed as
\begin{eqnarray*}
u_n\vert_{l/2} &=& \del{u_{ni}+u_{nj}}{2}+\del{l}{8}(\omega_i-\omega_j)\\
u_t\vert_{l/2} &=& \del{u_{ti}+u_{tj}}{2}
\end{eqnarray*}
where $l$ is edge length. This allows to express global displacements in element midside nodes using vertex displacements and rotations. For a single edge, one obtains:
\begin{eqnarray*}
u\vert_{l/2} &=&-\del{u_{ni}+u_{nj}}{2}+\del{l}{8}(\omega_i-\omega_j)\del{\Delta y_{ji}}{l}+(\del{u_{t1}+u_{t2}}{2})\del{\Delta x_{ji}}{l}\\
v\vert_{l/2} &=& \del{u_{ni}+u_{nj}}{2}+\del{l}{8}(\omega_i-\omega_j)\del{\Delta x_{ji}}{l}+(\del{u_{t1}+u_{t2}}{2})\del{\Delta y_{ji}}{l}\\
\end{eqnarray*}

\begin{elementsummary}{trplanestressrotallman}{2D linear triangular plane stress element with rotational DOFs}{}{trplanestressrotallman element summary}{TrPlaneStressRotAllmansummary}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, z-rotation) are required in each node.}
\elementDescription{Approximation}{Linear approximation of geometry, quadratic interpolation of displacements.}
\elementDescription{Integration}{Integration of membrane strain terms using gauss integration formula in 4 points.}
\elementDescription{Zero energy mode}{The zero energy mode (equal rotations) is handled by adding additional energy term preventing spurious modes.}

\elementDescription{Features}{-}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}

\begin{elementsummary}{trplanestressrotallman3d}{2D linear triangular plane stress element with rotational DOFs}{}{trplanestressrotallman3d element summary}{trplanestressrotallman3dsummary}
\elementDescription{Unknowns}{Six dofs (D\_u, D\_v, D\_w, R\_x, R\_y, R\_z) are required in each node.}
\elementDescription{Approximation}{Linear approximation of geometry, quadratic interpolation of displacements.}
\elementDescription{Integration}{Integration of membrane strain terms using gauss integration formula in 4 points.}
\elementDescription{Zero energy mode}{The zero energy mode (equal rotations) is handled by adding additional energy term preventing spurious modes.}

\elementDescription{Features}{-}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Plane Strain Elements}

\subsubsection{Quad1PlaneStrain}
Represents isoparametric four-node quadrilateral plane-strain
finite element. Each node has 2 degrees of freedom.
Structure should be defined in x,y plane. 
The nodes should be numbered anti-clockwise (positive rotation around
z-axis). The element features are summarized in Table~\ref{quad1planestrainsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{planestress2d.tikz}
 \end{makeimage}
 \caption{Quad1PlaneStrain element. Node numbering, Side numbering and
 definition of local edge c.s.(a).}
 \label{Quad1PlaneStrainfig}
\end{figure}

\begin{elementsummary}{quad1planestrain}{2D linear quadrilateral plane-strain element}{\optField{NIP}{in}}{quad1planestrain element summary}{quad1planestrainsummary}
\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using gauss integration formula in 4 (the default), 9 or 16 integration points.
The default number of integration points used can be overloaded using \param{NIP} parameter. Reduced integration for shear terms is employed.
Shear terms are always integrated using 1 point integration rule.}
\elementDescription{Features}{Nonlocal constitutive support, Adaptivity support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are supported and computed using numerical integration. The side numbering is following.
Each i-th element side begins in i-th element node and ends on next element node (i+1-th node or 1-st node, in the case of side number 4).
The local positive edge x-axis coincides with side direction, the positive local edge y-axis is rotated 90 degrees anti-clockwise (see fig. (\ref{Quad1PlaneStrainfig})).}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\end{elementsummary}





\subsubsection{TrplaneStrain}
Implements an triangular three-node  constant strain plane-strain  
finite element. Each node has 2 degrees of freedom.
The node numbering is anti-clockwise. The element features are summarized in Table~\ref{trplanestrainsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{trplanstrss.tikz} % Same image for plane stress
 \end{makeimage}
 \caption{TrplaneStrain element - node and side numbering.}
 \label{TrplaneStrain}
\end{figure}

\begin{elementsummary}{trplanestrain}{2D linear triangular plane-strain element}{-}{trplanestrain element summary}{trplanestrainsummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration of membrane strain terms using one point gauss integration formula.}
\elementDescription{Features}{Nonlocal constitutive support. Edge load support, Adaptivity support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are supported and are computed  using numerical integration. The side numbering is following.
Each i-th element side begins in i-th element node and ends on next element node (i+1-th node or 1-st node, in the case of side number 3).
The local positive edge x-axis coincides with side direction, the positive local edge y-axis is rotated 90 degrees anti-clockwise (see fig. (\ref{TrplaneStrain})).}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\end{elementsummary}




%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Plate \& Shell Elements}


\subsubsection {DKT Element}
\label{dkt}
Implementation of Discrete Kirchhoff Triangle (DKT) plate element.
This element is suitable for thin plates, as the traswerse shear strain energy is neglected.
The structure should be defined in x,y plane, nodes should be numbered anti-clockwise (positive rotation around
z-axis). The element features are summarized in Table~\ref{dktplatesummary}.


\begin{elementsummary}{dktplate}{2D Discrete Kirchhoff Triangular plate element}{-}{DKTplate element summary}{dktplatesummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Three dofs (w-displacement, u and v - rotations) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of rotations, cubic approximation of displacement along the edges. Note: there is no need to define interpolation for displacement on the element.}
\elementDescription{Integration}{Default integration of all terms using three point formula.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary load support is beta.}
\elementDescription{Output}{On output, the generalized shell strain/force momentum vectors in global coordinate system are printed, with the following meaning:
\begin{align*}
s_{\varepsilon} &= \{\varepsilon_x, \varepsilon_y, \varepsilon_{xz}, \kappa_x, \kappa_y, \kappa_{xy}, \gamma_{xz}, \gamma_{yz}\},\\
s_{\sigma} &= \{n_x, n_y, n_{xy}, m_x, m_y, m_z, m_{xy}, q_{xz}, q_{yz}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_{xy}$ are membrane in plane normal deformations, $\gamma_{zx}, \gamma_{xz}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_{xy}$ are curvatures, $n_x, n_y, n_{xy}, q_{xz}, q_{yz}$ are integral forces (normal and shear forces), and $m_x, m_y, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\elementDescription{Reference}{J.L.Batoz, K.J.Bathe, L.W.Ho: A study of three-node triangular plate bending elements, IJNME, 15(12):1771-1812, 1980}
\end{elementsummary}


\subsubsection {QDKT Element}
\label{qdkt}
Implementation of Discrete Kirchhoff Theory plate quad element (QDKT).
This element is suitable for thin plates, as the traswerse shear strain energy is neglected.
The structure should be defined in x,y plane, nodes should be numbered anti-clockwise (positive rotation around
z-axis). The element features are summarized in Table~\ref{qdktplatesummary}.


\begin{elementsummary}{qdktplate}{2D Discrete Kirchhoff Quad plate element}{-}{QDKTplate element summary}{qdktplatesummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Three dofs (w-displacement, u and v - rotations) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of rotations, cubic approximation of displacement along the edges. Note: there is no need to define interpolation for displacement on the element.}
\elementDescription{Integration}{Default integration of all bending terms using four point formula.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported.}
\elementDescription{Output}{On output, the generalized shell strain/force momentum vectors in global coordinate system are printed, with the following meaning:
\begin{align*}
s_{\varepsilon} &= \{\varepsilon_x, \varepsilon_y, \varepsilon_{xz}, \kappa_x, \kappa_y, \kappa_{xy}, \gamma_{xz}, \gamma_{yz}\},\\
s_{\sigma} &= \{n_x, n_y, n_{xy}, m_x, m_y, m_z, m_{xy}, q_{xz}, q_{yz}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_{xy}$ are membrane in plane normal deformations, $\gamma_{zx}, \gamma_{xz}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_{xy}$ are curvatures, $n_x, n_y, n_{xy}, q_{xz}, q_{yz}$ are integral forces (normal and shear forces), and $m_x, m_y, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\elementDescription{Reference}{J.L.Batoz, K.J.Bathe, L.W.Ho: A study of three-node triangular plate bending elements, IJNME, 15(12):1771-1812, 1980}
\end{elementsummary}

\subsubsection {CCT Element}
\label{cct}
Implementation of constant curvature triangular element for plate
analysis. Formulation based on Mindlin hypothesis. The structure should be defined in x,y plane. 
The nodes should be numbered anti-clockwise (positive rotation around
z-axis). The element features are summarized in Table~\ref{cctplatesummary}.


\begin{elementsummary}{cctplate}{2D constant curvature triangular plate element}{-}{cctplate element summary}{cctplatesummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Three dofs (w-displacement, u and v - rotations) are required in each node.}
\elementDescription{Approximation}{Linear approximation of rotations, quadratic approximation of displacement.}
\elementDescription{Integration}{Integration of all terms using one point formula.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are not supported now.}
\elementDescription{Output}{On output, the generalized shell strain/force momentum vectors in global coordinate system are printed, with the following meaning:
\begin{align*}
s_{\varepsilon} &=\{\varepsilon_x, \varepsilon_y, \varepsilon_{xz}, \kappa_x, \kappa_y, \kappa_{xy}, \gamma_{xz}, \gamma_{yz}\},\\
s_{\sigma} &=\{n_x, n_y, n_{xy}, m_x, m_y, m_z, m_{xy}, q_{xz}, q_{yz}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_{xy}$ are membrane in plane normal deformations, $\gamma_{zx}, \gamma_{xz}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_{xy}$ are curvatures, $n_x, n_y, n_{xy}, q_{xz}, q_{yz}$ are integral forces (normal and shear forces), and $m_x, m_y, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection {CCT3D Element}
Implementation of constant curvature triangular element for plate
analysis. Formulation based on Mindlin hypothesis. The element could be arbitrarily oriented in space. 
The nodes should be numbered anti-clockwise (positive rotation around element normal). 
The element features are summarized in Table~\ref{cctplate3dsummary}.

\begin{elementsummary}{cctplate3d}{Constant curvature triangular plate element in arbitray position}{-}{cctplate3d element summary}{cctplate3dsummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Six dofs (u,v,w-displacements and u,v,w rotations) are in general required in each node.}
\elementDescription{Approximation}{Linear approximation of ratations, quadratic approximation of displacement.}
\elementDescription{Integration}{Integration of all terms using one point formula.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are not supported now.}
\elementDescription{Output}{On output, the shell force ($s_f$), shell strain ($s_s$), shell momentum ($s_m$), and shell curvature ($s_c$) tensors in global coordinate system are printed as vector form with 6 components, with the following meaning:
\begin{align*}
s_f &=\{n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}\},\\
s_s &=\{\varepsilon_x, \varepsilon_y, \varepsilon_z, \gamma_{yz}, \gamma_{xz}, \gamma_{xy}\},\\
s_m &=\{m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}\},\\
s_c &=\{\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_z$ are membrane normal deformations, $\gamma_{zy}, \gamma_{zx}, \gamma_{xy}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}$ are curvatures, $n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}$ are integral forces (normal and shear forces), and $m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection {RerShell Element}
Combination of CCT plate element (Mindlin hypothesis) with triangular plane stress element
for membrane behavior. The element curvature can be specified. 
Although element requires generally six DOFs per node, no stiffness to
local rotation along z-axis (rotation around element normal) is supplied. 
The element features are summarized in Table~\ref{rershellsummary}.

\begin{elementsummary}{rershell}{Simple shell based on combination of CCT plate element (Mindlin hypothesis) with triangular plane stress element. element can be arbitrary positioned in space.}{-}{rershell element summary}{rershellsummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Six dofs (u,v,w-displacements and u,v,w rotations) are in general required in each node. Note, that although element it requires generally six DOFs per node, no stiffness to local rotation along z-axis (rotation around element normal) is supplied.}
\elementDescription{Approximation}{Linear approximation of ratations, quadratic approximation of displacement.}
\elementDescription{Integration}{Integration of all terms using one point formula.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are not supported now.}
\elementDescription{Output}{On output, the shell force ($s_f$), shell strain ($s_s$), shell momentum ($s_m$), and shell curvature ($s_c$) tensors in \textbf{global coordinate system} are printed as vector form with 6 components, with the following meaning:
\begin{align*}
s_f &= \{n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}\},\\
s_s &= \{\varepsilon_x, \varepsilon_y, \varepsilon_z, \gamma_{yz}, \gamma_{xz}, \gamma_{xy}\},\\
s_m &= \{m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}\},\\
s_c &= \{\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_z$ are membrane normal deformations, $\gamma_{zy}, \gamma_{zx}, \gamma_{xy}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}$ are curvatures, $n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}$ are integral forces (normal and shear forces), and $m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\end{elementsummary}



\subsubsection {tr\_shell11  element}
Combination of CCT3D plate element (Mindlin hypothesis) with triangular plane stress element
for membrane behavior. It comes with complete set of 6 DOFs per node. 
The element features are summarized in Table~\ref{trshell01summary}.
\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{trshell_lin.tikz}
 \end{makeimage}
 \caption{Geometry of tr\_shell11 element.}
\end{figure}

\begin{elementsummary}{tr\_shell11}{Triangular shell element combining CCT3D plate element (Mindlin hypothesis) with triangular plane stress element with rotational DOFs}{-}{tr\_shell01 element summary}{trshell01summary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Six dofs (u,v,w-displacements and u,v,w rotations) are in general required in each node.}
\elementDescription{Approximation}{See description of cct and trplanstrrot elements}
\elementDescription{Integration}{Four point integration, reduced integration of strain associated to normal rotation and shear terms.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are supported (only surface loads).}
\elementDescription{Output}{On output, the shell force ($s_f$), shell strain ($s_s$), shell momentum ($s_m$), and shell curvature ($s_c$) tensors in \textbf{global coordinate system} are printed as vector form with 6 components, with the following meaning:
\begin{align*}
s_f &= \{n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}\},\\
s_s &= \{\varepsilon_x, \varepsilon_y, \varepsilon_z, \gamma_{yz}, \gamma_{xz}, \gamma_{xy}\},\\
s_m &= \{m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}\},\\
s_c &= \{\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_z$ are membrane normal deformations, $\gamma_{zy}, \gamma_{zx}, \gamma_{xy}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}$ are curvatures, $n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}$ are integral forces (normal and shear forces), and $m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{Reliable}
\elementDescription{Tests}{sm/trshell11\_1.in}
\end{elementsummary}


\subsubsection {tr\_shell02 element}
Combination of thin-plate DKT plate element with plane stress element (TrPlanestressRotAllman). This element comes with complete set of 6 DOFs per node. 
The element features are summarized in Table~\ref{trshell02summary}.

\begin{elementsummary}{tr\_shell02}{Triangular shell element combining DKT plate element with triangular plane stress element with rotational DOFs}{-}{tr\_shell02 element summary}{trshell02summary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Six dofs (u,v,w-displacements and u,v,w rotations) are in general required in each node.}
\elementDescription{Approximation}{See description of cct and trplanstrrot elements}
\elementDescription{Integration}{4 integration points necessary, use "NIP 4" in element record.}
%\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are supported (only surface loads).}
\elementDescription{Output}{On output, the shell force ($s_f$), shell strain ($s_s$), shell momentum ($s_m$), and shell curvature ($s_c$) tensors in \textbf{global coordinate system} are printed as vector form with 6 components, with the following meaning:
\begin{align*}
s_f &= \{n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}\},\\
s_s &= \{\varepsilon_x, \varepsilon_y, \varepsilon_z, \gamma_{yz}, \gamma_{xz}, \gamma_{xy}\},\\
s_m &= \{m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}\},\\
s_c &= \{\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_z$ are membrane normal deformations, $\gamma_{zy}, \gamma_{zx}, \gamma_{xy}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}$ are curvatures, $n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}$ are integral forces (normal and shear forces), and $m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\elementDescription{Note}{Works only with linear material models, as bending and membrane actions are uncoupled}
\end{elementsummary}



\subsubsection{Quad1Mindlin Element} \label{quad1mindlin}
This class implements an quadrilateral, bilinear, four-node Mindlin plate.
This type of element exhibit strong shear locking (thin plates exhibit almost no bending).
Implements the lumped mass matrix. The element features are summarized in Table~\ref{quad1mindlinsummary}.

\begin{elementsummary}{quad1mindlin}{Quadrilateral, bilinear, four-node Mindlin plate}{\optField{NIP}{in}}{quad1mindlin element summary}{quad1mindlinsummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{Three dofs (w-displacement, u and v - rotation) are required in each node.}
\elementDescription{Approximation}{Linear for all unknowns.}
\elementDescription{Integration}{Default uses 4 integration points. No reduced integration is used, as it causes numerical problems.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{Cross section thickness is required.}
\elementDescription{Loads}{Dead weight loads, and edge loads are supported.}
\elementDescription{Output}{On output, the generalized shell strain/force momentum vectors in global coordinate system are printed, with the following meaning:
\begin{align*}
s_{\varepsilon} &= \{\varepsilon_x, \varepsilon_y, \varepsilon_{xz}, \kappa_x, \kappa_y, \kappa_{xy}, \gamma_{xz}, \gamma_{yz}\},\\
s_{\sigma} &= \{n_x, n_y, n_{xy}, m_x, m_y, m_z, m_{xy}, q_{xz}, q_{yz}\}
\end{align*}
where $\varepsilon_x, \varepsilon_y, \varepsilon_{xy}$ are membrane in plane normal deformations, $\gamma_{zx}, \gamma_{xz}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_{xy}$ are curvatures, $n_x, n_y, n_{xy}, q_{xz}, q_{yz}$ are integral forces (normal and shear forces), and $m_x, m_y, m_{xy}$ are bending moments. 
Please note, for example, that bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Reference}{\cite{RobertCook1989}}
\elementDescription{Status}{Experimental}
\end{elementsummary}





\subsubsection{Tr2Shell7 Element} \label{tr2shell7}
This class implements a triangular, quadratic, six-node shell element. The element is a so-called seven parameter shell with seven dofs per node -- a displacement field (3 dofs), an extensible director field (3 dofs) and a seventh dof representing inhomogenous thickness strain. This last parameter is included in the model in order to deal with volumetric/Poisson lock effects.

The element features are summarized in Table~\ref{quad1mindlinsummary}.

\begin{elementsummary}{tr2shell7}{Triangular, quadratic, six-node shell with 7 dofs/node}{\optField{NIP}{in}}{tr2shell7 element summary}{tr2shell7summary}

\elementDescription{Unknowns}{Seven dofs (displacement in u, v and w-direction; change in director field in u, v and w-direction; and inhomgenous thickness stretch) are required in each node.}
\elementDescription{Approximation}{Quadratic for all unknowns.}
\elementDescription{Integration}{Default uses 6 integration points in the midsurface plane. Number of integration points in the thickness direction is determined by the Layered cross section.}
\elementDescription{Features}{Layered cross section support.}
\elementDescription{CS properties}{This element must be used with a Layered cross section.}
\elementDescription{Loads}{Edge loads, constant pressure loads and surface loads are supported.}
\elementDescription{Nlgeo}{Not applicable. The implementation is for large defomrations and hence geometrical nonlinearities will always be present, regardless the value of Nlgeo.}
\elementDescription{Reference}{\cite{RagnarLarsson2011}}
\elementDescription{Status}{Experimental}
\end{elementsummary}



\subsubsection {MITC4Shell Element}
A four-node quadrilateral shell element formulated using three-dimensional continuum mechanics theory degenerated to shell behaviour. The element is applicable to thick and thin shells as the ``mixed interpolation of tensorial components'' (MITC) approach is used to remove shear locking. The implementation is based on the following paper: Dvorkin, E.N., Bathe, K.J.: A continuum mechanics based four-node shell element for general non-linear analysis, Eng.Comput., Vol.1, 77-88, 1984. 

Although element requires generally six DOFs per node, no stiffness to local rotation along z-axis (rotation around director vector) is supplied. The element features are summarized in Table~\ref{mitc4shellsummary}.

\begin{elementsummary}{mitc4shell}{Quadrilateral, bilinear, four-node shell element using the MITC technique.}{\optField{NIP}{in} \optField{NIPZ}{in} \optField{directorType}{in}}{mitc4shell element summary}{mitc4shellsummary}
\elementParam{\param{NIP}: allows to set the number of integration points in local x-y plane (default 4).}
\elementParam{\param{NIPZ}: allows to set the number of integration points in local z-direction (default 2).}
\elementParam{\param{directorType}: allows to set director vectors. Director vectors can be set as normal to the plane (\param{directorType} = 0, default), or calculated for each node as an average of neighbouring elements of same crosssection (\param{directorType} = 1), or can be specified at crosssection (\param{directorType} =2).}
\elementDescription{Unknowns}{Six dofs (u,v,w-displacements and u,v,w rotations) are in general required in each node. Note, that although element requires generally six DOFs per node, no stiffness to local rotation along z-axis (rotation around director vector) is supplied.}
\elementDescription{Approximation}{Linear approximation of displacements and rotations.}
\elementDescription{Integration}{Integration of all terms using Gauss integration formula in 8 points (default) or specified using \param{NIP} and \param{NIPZ} parameters.  }
\elementDescription{Features}{Variable cross section support.}
\elementDescription{CS properties}{Cross section thickness is required (measured along director vector). Director vectors components may be specified \optField{directorx}{in}\optField{directory}{in}\optField{directorz}{in} in case of \param{directorType 2}.}
\elementDescription{Loads}{Body and boundary loads are supported.}
\elementDescription{Output}{On output, the shell force ($s_f$), shell momentum ($s_m$), shell strain ($s_s$), shell curvature ($s_c$), strain ($\varepsilon$), and stress ($\sigma$) tensors in \textbf{global coordinate system} are printed as vector form with 6 components, with the following meaning:
\begin{align*}
s_f &= \{n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}\},\\
s_m &= \{m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}\},\\
s_s &= \{\varepsilon_x, \varepsilon_y, \varepsilon_z, \gamma_{yz}, \gamma_{xz}, \gamma_{xy}\},\\
s_c &= \{\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}\}\\
\varepsilon&=&\{\varepsilon_x, \varepsilon_y, \varepsilon_z, \gamma_{yz}, \gamma_{zx}, \gamma_{xy}\},\\
\sigma &= \{\sigma_x, \sigma_y, \sigma_z, \sigma_{yz}, \sigma_{xz}, \sigma_{xy}\}.
\end{align*}
where $n_x, n_y, n_z, v_{yz}, v_{xz}, v_{xy}$ are integral forces (normal and shear forces), and $m_x, m_y, m_z, m_{yz}, m_{xz}, m_{xy}$ are bending moments, $\varepsilon_x, \varepsilon_y, \varepsilon_z$ are membrane normal deformations, $\gamma_{zy}, \gamma_{zx}, \gamma_{xy}$ are (out of plane and in plane) shear componets, $\kappa_x, \kappa_y, \kappa_z, \kappa_{yz}, \kappa_{xz}, \kappa_{xy}$ are curvatures.  
Please note, for example, the bending moment $m_x$ is defined as $m_x=\int \sigma_x z\ dz$, so it acts along the y-axis and positive value causes tension in bottom layer (positive z-coordinate).
The shell force ($s_f$), shell momentum ($s_m$), shell strain ($s_s$), and shell curvature ($s_c$) tensors are evaluated at the midplane of the element (thus are constant along the thickness) while the strain ($\varepsilon$), and stress ($\sigma$) tensors are evaluated at each Gausspoint.
}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}


\subsubsection{Sub-soil Elements}
\subsubsection{quad1plateSubsoil Element} \label{quad1platesubsoil}
This class implements an quadrilateral, bilinear, four-node plate subsoil element.
Typically this element is combined with suitable plate element with quadrilateral geometry to model plate element on 
(elastic) subsoill foundation, but it can be used alone. The element geometry should be define in xy plane.
The element features are summarized in Table~\ref{quad1platesubsoilsummary}.

\begin{elementsummary}{quad1plateSubsoil}{Quadrilateral, bilinear, four-node sub-soil plate element}{}{quad1platesubsoil element summary}{quad1platesubsoilsummary}
%\elementParam{\param{NIP}: allows to set the number of integration points for integration of membrane terms.}
\elementDescription{Unknowns}{One dof (w-displacement) is required in each node.}
\elementDescription{Approximation}{Linear for transwersal displacement.}
\elementDescription{Integration}{4 integration points.}
\elementDescription{Loads}{Surface load support.}
\elementDescription{Note}{Requires material model with 2dPlateSubSoil mode support.}
\elementDescription{Reference}{\cite{BittnarSejnoha1996}}
\end{elementsummary}

\subsubsection{Tria1PlateSubSoil Element} \label{tria1platesubsoil}
This class implements an quadrilateral, bilinear, four-node plate subsoil element.
Typically this element is combined with suitable plate element with quadrilateral geometry to model plate element on 
(elastic) subsoill foundation, but it can be used alone. The element geometry should be define in xy plane.
The element features are summarized in Table~\ref{quad1platesubsoilsummary}.

\begin{elementsummary}{tria1platesubsoil}{Tringular, three-node sub-soil plate element with linear interpolation}{}{tria1platesubsoil element summary}{tria1platesubsoilsummary}
\elementDescription{Unknowns}{One dof (w-displacement) is required in each node.}
\elementDescription{Approximation}{Linear for transwersal displacement.}
\elementDescription{Integration}{1 integration points.}
\elementDescription{Loads}{Surface load support.}
\elementDescription{Note}{Requires material model with 2dPlateSubSoil mode support.}
\elementDescription{Reference}{\cite{BittnarSejnoha1996}}
\end{elementsummary}


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Axisymmetric Elements}
Implementation relies on elements located exclusively in $x,y$ plane. The coordinate $x$ corresponds to radius, $y$ is the axis of rotation. Approximation of displacement functions $u,v$ is carried out on a particular finite element. Nonzero strains read
\begin{eqnarray}
\varepsilon_{x}=\varepsilon_{r}&=&\frac{\partial u}{\partial x}\\
\varepsilon_{y}=\varepsilon_{z}&=&\frac{\partial v}{\partial y}\\
\varepsilon_{\theta}&=&\frac{u}{r}\\
\gamma_{xy}=\gamma_{rz}&=&\frac{\partial u}{\partial y} + \frac{\partial v}{\partial x}
\end{eqnarray}
Stress components can be computed from elasticity matrix. Note that this matrix corresponds to a submatrix of the full 3D elasticity matrix.
\begin{eqnarray}
\left\{\begin{array}{c} \sigma_x \\ \sigma_y \\ \sigma_\theta \\ \sigma_{xy} \end{array} \right\} = 
\frac{E}{(1+\nu)(1-2\nu)}\left[ \begin{array}{cccc} 1-\nu & \nu & \nu & 0 \\ \nu & 1-\nu & \nu & 0 \\ \nu & \nu & 1-\nu & 0 \\ 0 & 0 & 0 & (1-2\nu)/2 \end{array} \right] = 
\left\{\begin{array}{c} \varepsilon_x \\ \varepsilon_y \\ \varepsilon_\theta \\ \gamma_{xy} \end{array} \right\} 
\end{eqnarray}
In OOFEM, the strain vector is arranged as $\{\varepsilon_{x}, \varepsilon_{y}, \varepsilon_{\theta}, 0, 0, \gamma_{xy}\}^T$ and the stress vector $\{\sigma_{x}, \sigma_{y}, \sigma_{\theta}, 0, 0, \tau_{xy}\}^T$. Implementation assumes a segment of 1 rad.

\subsubsection{Axisymm3d element}
Implementation of triangular three-node finite element 
for axisymmetric continuum. Each node has 2 degrees of freedom. 
Node numbering and edge position is the same as in Fig.~\ref{TrPlanestressfig}. 
The element features are summarized in Table~\ref{axisymm3dsummary}. 

\begin{elementsummary}{Axisymm3d}{Triangular axisymmetric linear element}{\optField{NIP}{in} \optField{NIPfish}{in}}{Axisymm3d element summary}{axisymm3dsummary}
\elementParam{\param{NIP}: allows to set the number of integration points (possible completions are 1 (default), 4 and 7 point integration rule).}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacement and geometry.}
\elementDescription{Integration}{The integration can be altered using \param{NIP} paramter (default is 1 point integration).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{Boundary and body loads are supported.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}

\subsubsection{Q4axisymm element}
Implementation of quadratic isoparametric eight-node quadrilateral -
finite element for axisymmetric 3d continuum. 
Each node has 2 degrees of freedom. The element features are summarized in Table~\ref{q4axisymmsummary}.

\begin{elementsummary}{Q4axisymm}{Quadratic isoparametric eight-node quadrilateral for axisymmetric analysis}{\optField{NIP}{in} \optField{NIPfish}{in}}{Q4axisymm element summary}{q4axisymmsummary}
\elementParam{\param{NIP}: allows to set the number of integration points for integration of terms corresponding to $\varepsilon_x$ and $\varepsilon_y$ strains (possible completions are 1, 4 (default), 9, and 16).}
\elementParam{\param{NIPfish}: allows to set the number of integration points for integration of remain terms (corresponding to $\varepsilon_\theta$ and
$\gamma_{rz}$) (Supported values include 1 (default), 4, 9, and 16 integration point formula).}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacement and geometry.}
\elementDescription{Integration}{The integration of terms corresponding to $\varepsilon_x$ and $\varepsilon_y$ strains can be altered using \param{NIP} parameter (default is 4 point formula). The remaining terms (creesponding to $\varepsilon_\theta$ and $\gamma_{rz}$) are integrated by default using 1 point formula (see \param{NIPfish} parameter).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{No boundary and body loads are supported.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}


\subsubsection{L4axisymm element}
Implementation of isoparametric four-node quadrilateral axisymmetric
finite element with linear interpolations of displacements $u, v$. Node numbering and edge position is the same as in Fig.~\ref{Planestress2dfig}. The element features are summarized in Table~\ref{l4axisymmsummary}.

\begin{elementsummary}{L4axisymm}{Isoparametric four-node quadrilateral element for axisymmetric analysis}{\optField{NIP}{in}}{L4axisymm element summary}{l4axisymmsummary}
\elementParam{\param{NIP}: allows to set the number of integration points for integration of terms corresponding to $\varepsilon_x$ and $\varepsilon_y$ strains (possible completions are 1, 4 (default), 9, and 16).}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacement and geometry.}
\elementDescription{Integration}{The integration of $\varepsilon_x$ and $\varepsilon_y$ strains can be altered using
\param{NIP} parameter (possible completions are 1, 4 (default), 9 or 16
point integration rule). The remaining strain components ($\varepsilon_\theta$ and
$\gamma_{rz}$) are integrated using one point integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{Boundary and body loads supported.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\end{elementsummary}

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{3d Continuum Elements}
\subsubsection{LSpace element}
\label{lspacesect}
Implementation of Linear 3d  eight - node 
finite element. Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{lspacesummary}.
\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{hexa_lin.tikz}
 \end{makeimage}
 \caption{LSpace element (Node numbers in black, side numbers in blue,
 and surface numbers in red).}
\end{figure}

\begin{elementsummary}{lspace}{Linear isoparametric brick element}{\optField{NIP}{in}}{lspace element summary}{lspacesummary}
\elementParam{\param{NIP}: allows to set the number of integration points (possible completions are 1, 8 (default), or 27).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacement and geometry.}
\elementDescription{Integration}{Full integration of all strain components.}
\elementDescription{Features}{Adaptivity support, Geometric nonlinearity support.}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0,1,2.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection{LSpaceBB element}
Implementation of 3d brick eight - node 
linear approximation element with selective integration of deviatoric and volumetric 
strain contributions (B-bar formulation) for incompressible problems. 
Features and description identical to conventional lspace element, see section ~\ref{lspacesect}.

\subsubsection{QSpace element}\label{QSpace_element}
Implementation of quadratic 3d 20-node 
finite element. Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{qspacesummary}.
\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \raisebox{-0.5\height}{\input{hexa_quad_a.tikz}}
  \raisebox{-0.5\height}{\input{hexa_quad_b.tikz}}
 \end{makeimage}
 \caption{QSpace element.}
\end{figure}

\begin{elementsummary}{qspace}{Quadratic isoparametric brick element}{\optField{NIP}{in}}{qspace element summary}{qspacesummary}
\elementParam{\param{NIP}: allows to set the number of integration points (possible completions are 1, 8 (default), or 27).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacement and geometry.}
\elementDescription{Integration}{Full integration of all strain components.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0,1,2.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection{LTRSpace element}
Implementation of tetrahedra four-node finite element. 
Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{LTRSpacesummary}.
Following node numbering convention is adopted (see also Fig.~\ref{lintetrahedron_fig}):
\begin{itemize}
\item Select a face that will contain the first three corners. The excluded corner will be the last one.
\item Number these three corners in a counterclockwise sense when looking at the face from the
      excluded corner.
\end{itemize}
 
\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{tetrahedra_lin.tikz}
 \end{makeimage}
 \caption{LTRSpace element. Definition and node numbering convention.}
 \label{lintetrahedron_fig}
\end{figure}

\begin{elementsummary}{LTRSpace}{Linear tetrahedra element}{-}{LTRSpace element summary}{LTRSpacesummary}
%\elementParam{\param{NIP}: allows to set the number of integration points (possible completions are 1, 8 (default), or 27).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{ Linear approximation of displacements and geometry using linear volume coordinates.}
\elementDescription{Integration}{Full integration of all strain components using four point Gauss integration formula.}
\elementDescription{Features}{Adaptivity support, Geometric nonlinearity support.}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{Surface and Edge loadings supported.}
\elementDescription{Nlgeo}{0,1,2.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection{QTRSpace element}
Implementation of tetrahedra ten-node finite element. 
Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{QTRSpacesummary}.
Following node numbering convention is adopted (see also Fig.~\ref{qtetrahedron_fig}):

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \raisebox{-0.5\height}{\input{tetrahedra_quad_a.tikz}}
  \raisebox{-0.5\height}{\input{tetrahedra_quad_b.tikz}}
 \end{makeimage}
 \caption{QTRSpace element. Definition and node numbering convention.}
  \label{qtetrahedron_fig}
\end{figure}

\begin{elementsummary}{QTRSpace}{3D tetrahedra element with quadratic interpolation}{\optField{NIP}{in}}{QTRSpace element summary}{QTRSpacesummary}
\elementParam{\param{NIP}: allows to alter  the default integration formula (possible completions are 1, 4 (default), 5, 11, 15, 24, and 45 point intergartion formulas).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacements and geometry using linear volume coordinates.}
\elementDescription{Integration}{Full integration of all strain components using four point Gauss integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0,1,2.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection{LWedge element}
Implementation of wedge six-node finite element. 
Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{LWedgesummary}.
Following node numbering convention is adopted (see also Fig.~\ref{linwedge_fig}):

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{wedge_lin.tikz}
 \end{makeimage}
  \caption{LWedge element. Node numbering convention in black, edge numbering in blue and face numbering in red.}
  \label{linwedge_fig}
\end{figure}

\begin{elementsummary}{LWedge}{3D wedge six-node finite element with linear interpolation}{\optField{NIP}{in}}{LWedge element summary}{LWedgesummary}
\elementParam{\param{NIP}: allows to alter  the default integration formula (possible completions are 2 (default) and 9 point integration formulas).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration of all strain components using four point Gauss integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0,1,2.}
\elementDescription{Status}{Reliable}
\end{elementsummary}

\subsubsection{QWedge element}
Implementation of wedge fifteen-node finite element. 
Each node has 3 degrees of freedom. The element features are summarized in Table~\ref{QWedgesummary}.
Following node numbering convention is adopted (see also Fig.~\ref{qwedge_fig}):

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \raisebox{-1.\height}{\input{wedge_quad_a.tikz}}
  \raisebox{-1.\height}{\input{wedge_quad_b.tikz}}
 \end{makeimage}
  \caption{QWedge element. Node numbering convention in black, edge numbering in blue and face numbering in red.}
  \label{qwedge_fig}
\end{figure}

\begin{elementsummary}{QWedge}{3D wedge six-node finite element with quadratic interpolation}{\optField{NIP}{in}}{QWedge element summary}{QWedgesummary}
\elementParam{\param{NIP}: allows to alter  the default integration formula (possible completions are 2 (default) and 9 point integration formulas).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration of all strain components using four point Gauss integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0,1,2.}
\elementDescription{Status}{Reliable}
\end{elementsummary}

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Interface elements}
Interface elements represents an interaction between points, edges or surfaces. They are used to model debonding between surfaces or more general fracture processes through the use of cohesive zone (cz) models. They can also be used to model contact between elements. Specific interface material models needs to be used - consult the {\it matlibmanual} for supported models. 

\paragraph{Ordering convention:} All inerface elements have \emph{plus}-side and a \emph{minus}-side and all nodes should first be specified for the minus-side and then the plus-side. The normal to the interface is defined to point from the minus-side to the-plus side. Direction of normal vector on an element specifies normal stress/cohesion across the element. It is assumed that normal jump, normal traction are at the first position of corresponding vectors. Stiffness matrix in local coordinates has always on position 1,1 normal stiffness and then shear stiffness.

\subsubsection{IntElPoint, Interface1d elements}
Implementation of one dimensional (slip) interface element. 
This element connects two separate nodes and the interaction is governed by a one-dimensional slip law. 
This law determines the force acting between the nodes as a function on their relative displacement in the slip direction. The element can
be used in 1D, 2D, and 3D (default) and its features are summarized in Table~\ref{Interface1dsummary}.

\begin{elementsummary}{IntElPoint, Interface1d (deprecated)}{One dimensional (slip) interface element}{\optField{refnode}{in} \optField{normal}{ra}}{IntElPoint element summary}{Interface1dsummary}
\elementParam{\param{refnode}: determines the reference node, which is used to specify a reference direction (the direction vector is obtained by subtracting the coordinates of the first node from the reference node).}
\elementParam{\param{normal}: The reference direction can be directly specified by the optional parameter \param{normal}. Although both \param{refnode} and \param{normal} are optional, at least one of them must be specified.}

\elementDescription{Unknowns}{One, two, or three DOFs (u-displacement, v-displacement,
w-displacement) are required in each node, according to element mode (determined from domain type).}
\elementDescription{Approximation}{-}
\elementDescription{Integration}{-}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0}
\elementDescription{Status}{Reliable}
\elementDescription{Note}{Element requires material model with \_1dInterface support.}
\end{elementsummary}

\subsubsection{IntElLine1, Interface2dlin elements}
Implementation of a two dimensional line element with a linear approximation of the displacement jump. 
The element can be used to tie together two element edges and is defined by four nodes - two on each edge. Note that, the nodes along the interface are doubled, each couple with identical coordinates. Nodes on the negative side are numbered first, followed by nodes on the positive part. Requires material model with \_2dInterface support.  The element features are summarized in Table~\ref{IntElLine1}.
\begin{figure}[htb]
 \centering
 \begin{makeimage}
 \input{interf2d_lin.tikz}
 \end{makeimage}
 \caption{Interface2dlin element with linear interpolation. Definition and node numbering convention}
 \label{interf2d_lin_fig}
\end{figure}

\begin{elementsummary}{IntElLine1, Interface2dlin(deprecated) }{2D  interface element with linear approximation}{\optField{axisymmode}{}}{IntElLine1 element summary}{IntElLine1}
\elementParam{\param{axisymmode}: Flag controlling axisymmetric mode (integration over unit circumferential angle).}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration of all strain components using two point integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0}
\elementDescription{Status}{Reliable}
\elementDescription{Note}{Element requires material model with \_2dInterface support.}
\end{elementsummary}


\subsubsection{IntElLine2, Interface2dquad elements}
Implementation of a two dimensional interface element with quadratic
approximation of displacement field. Can be used to glue together two elements with quadratic displacement approximation along the shared edge. Note, that the nodes along the interface are doubled, each couple with identical coordinates. Nodes on the negative side are numbered first, followed by nodes on the positive part. Requires material model with \_2dInterface support. The element features are summarized in Table~\ref{IntElLine2}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
 \input{interf2d_quad.tikz}
 \end{makeimage}
 \caption{Interface2dquad element with quadratic interpolation. Definition and node numbering convention}
 \label{interf2d_quad_fig}
\end{figure}

\begin{elementsummary}{IntElLine2, Interface2dquad (deprecated)}{2D  interface element with quadratic approximation}{\optField{axisymmode}{}}{IntElLine2 element summary}{IntElLine2}
\elementParam{\param{axisymmode}: Flag controlling axisymmetric mode (integration over unit circumferential angle).}
\elementDescription{Unknowns}{Two dofs (u-displacement, v-displacement) are required in each node.}
\elementDescription{Approximation}{Quadratic approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration of all strain components using four point integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0}
\elementDescription{Status}{Reliable}
\elementDescription{Note}{Element requires material model with \_2dInterface support.}
\end{elementsummary}

\subsubsection{IntElSurfTr1, Interface3dtrlin elements}
Implementation of a three dimensional interface element with linear
approximation of displacement field. Can be used to glue together two elements with linear displacement approximation along the shared triangular surface. Note, that the nodes along the interface are doubled, each couple with identical coordinates. Nodes on the negative surface are numbered first, followed by nodes on the positive part. The numbering of surface nodes on positive surface (+) determines the positive normal (right hand rule). Requires material model with \_3dInterface support. The element features are summarized in Table~\ref{Interface3dtrlinsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{interf3d_lin.tikz}
 \end{makeimage}
 \caption{Interface3dtrlin element with linear interpolation. Definition and node numbering convention}
 \label{interf3d_lin_fig}
\end{figure}

\begin{elementsummary}{IntElSurfTr1, Interface3dtrlin (deprecated)}{3D  interface element with linear approximation}{-}{IntElSurfTr1 element summary}{Interface3dtrlinsummary}
%\elementParam{\param{refnode}: determines the reference node, which is used to specify a reference direction (the direction vector is obtained by subtracting the coordinates of the first node from the reference node).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration of all components using one point integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0}
\elementDescription{Status}{Reliable}
\elementDescription{Note}{Element requires material model with \_3dInterface support.}
\end{elementsummary}

\subsubsection{IntElSurfQuad1 element}
Implementation of a three dimensional interface element with linear
approximation of displacement field. Can be used to glue together two elements with linear displacement approximation along the shared quad surface. Note, that the nodes along the interface are doubled, each couple with identical coordinates. Nodes on the negative surface are numbered first, followed by nodes on the positive part. The numbering of surface nodes on positive surface (+) determines the positive normal (right hand rule). Requires material model with \_3dInterface support. The element features are summarized in Table~\ref{Interface3dquadlinsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{interf3dquad_lin.tikz}
 \end{makeimage}
 \caption{IntElSurfQuad1 element with linear interpolation. Definition and node numbering convention}
 \label{interf3dquad_lin_fig}
\end{figure}

\begin{elementsummary}{IntElSurfQuad1}{3D  interface element with linear approximation}{-}{IntElSurfQuad1 element summary}{Interface3dquadlinsummary}
%\elementParam{\param{refnode}: determines the reference node, which is used to specify a reference direction (the direction vector is obtained by subtracting the coordinates of the first node from the reference node).}
\elementDescription{Unknowns}{Three dofs (u-displacement, v-displacement, w-displacement) are required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Full integration of all components using one point integration formula.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{0}
\elementDescription{Status}{Reliable}
\elementDescription{Note}{Element requires material model with \_3dInterface support.}
\end{elementsummary}


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Free warping analysis elements}
\subsubsection{TrWarp}
Implements 2D linear triangular three-node finite element for \param{FreeWarping} analysis. Each node has 1 degree of freedom.
The node numbering is anti-clockwise. The element features are summarized in Table~\ref{TrWarpsummary}.


\begin{elementsummary}{TrWarp}{2D linear triangular warping element}{-}{TrWarp element summary}{TrWarpsummary}
\elementDescription{Unknowns}{One dof (the value of deplanation function) is required in each node.}
\elementDescription{Approximation}{Linear approximation of displacements and geometry.}
\elementDescription{Integration}{Integration using one point gauss integration formula.}
\elementDescription{Features}{This type of element is supported in \param{FreeWarping} analysis only.}
\elementDescription{CS properties}{Only \param{warpingCS} is supported.}
\elementDescription{Loads}{Edge loads corresponding to free warping problem are generated automatically. Additional edge loads are not supported.}
\elementDescription{Nlgeo}{0.}
\elementDescription{Status}{-}
\elementDescription{Note}{Test case: sm/freewarpingtest2.in}
\end{elementsummary}

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{XFEM elements}
XFEM elements allow simulations where the unknown fields are enriched through
the partition of unity concept. Two elements are currently available for 2D XFEM
simulations: \textit{TrPlaneStress2dXFEM} (subclass of \textit{TrPlaneStress2d})
and \textit{PlaneStress2dXfem} (subclass of PlaneStress2d).

\subsubsection{TrPlaneStress2dXFEM element}

\begin{elementsummary}{TrPlaneStress2dXFEM}{Two dimensional 3-node triangular
XFEM element}{\optField{czmaterial}{in}
\optField{nipcz}{in}\optField{useplanestrain}{in}}{TrPlaneStress2dXFEM element
summary}{TrPlaneStress2dXFEMsummary} \elementParam{\param{czmaterial}: Interface material for the cohesive zone.
(If no material is specified, traction free crack surfaces are assumed.)}
\elementParam{\param{nipcz}: Number of integration points used on each segment
of the cohesive zone.}
\elementParam{\param{useplanestrain}: If plane strain or plane stress should
be assumed. 0 implies plane stress and 1 implies plane strain.}

\elementDescription{Unknowns}{Two continuous (standard) DOFs (u-displacement,
v-displacement) and a variable number of enriched DOFs (can be continuous or
discontinuous).}
\elementDescription{Approximation}{-}
\elementDescription{Integration}{Elements cut by an XFEM interface are divided
into subtriangles.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{-}
\elementDescription{Status}{-}
\elementDescription{Note}{Test case: sm/xFemCrackVal.in}
\end{elementsummary}


\subsubsection{PlaneStress2dXfem element}

\begin{elementsummary}{PlaneStress2dXfem}{Two dimensional 4-node quad
XFEM element}{\optField{czmaterial}{in}
\optField{nipcz}{in}\optField{useplanestrain}{in}}{PlaneStress2dXfem element
summary}{PlaneStress2dXfemsummary} \elementParam{\param{czmaterial}: Interface material for the cohesive zone.
(If no material is specified, traction free crack surfaces are assumed.)}
\elementParam{\param{nipcz}: Number of integration points used on each segment
of the cohesive zone.}
\elementParam{\param{useplanestrain}: If plane strain or plane stress should
be assumed. 0 implies plane stress and 1 implies plane strain.}

\elementDescription{Unknowns}{Two continuous (standard) DOFs (u-displacement,
v-displacement) and a variable number of enriched DOFs (can be continuous or
discontinuous).}
\elementDescription{Approximation}{-}
\elementDescription{Integration}{Elements cut by an XFEM interface are divided
into subtriangles.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Nlgeo}{-}
\elementDescription{Status}{-}
\elementDescription{Note}{Test cases: sm/xFemCrackValBranch.in,
sm/xfemCohesiveZone1.in, benchmark/xfem01.in}
\end{elementsummary}

%-----------------------------------------------------------------------------------------------
\clearpage

\subsection{Iso Geometric Analysis based (IGA) elements}
The following record describes the common part of IGA element record:
 
\noindent
\begin{record}
  \recentry{\entKeyword{IGAElement}}{\componentNum}
  \recentry{}{\field{mat}{in} \field{crossSect}{in} \field{nodes}{ia}}
  %% interpolation specific
  \recentry{}{\field{knotvectoru}{ra} \field{knotvectorv}{ra} \field{knotvectorw}{ra}}
  \recentry{}{\optField{knotmultiplicityu}{ia} \optField{knotmultiplicityv}{ia}}
  \recentry{}{\optField{knotmultiplicityw}{ia}}
  \recentry{}{\field{degree}{ia} \field{nip}{ia}}
  %% parallel stuff
  \recentry{}{\PoptField{partitions}{ia} \PoptField{remote}{}}
\end{record}
The \param{knotvectoru}, \param{knotvectorv}, and \param{knotvectorw} parameters specify  knot vectors in individual parametric directions, considering only distinct knots. Open knot vector is always assumed, so the multiplicity of the first and last knot should be equal to $p+1$, where $p$ is polynomial degree in coresponding direction (determined by \param{degree} parameter, see further).\\
The knot multiplicity can be set using optional parameters \param{knotmultiplicityu}, \param{knotmultiplicityv}, and \param{knotmultiplicityw}. By default, the open knot vector is assumed and multiplicity of internal knots is assumed to be equal to one. Note, that total number of knots in particular direction (including multiplicity) must be equal to number of control points in this direction increased by degree in this direction plus 1.\\
The degree of approximation for each parametric direction is determined from \param{degree} array, dimension of which is equal to number of spatial dimensions of the problem.\\
In case of elements with BSpline or Nurbs interpolation, the nodes forming the rectangular array of control points of the element are ordered in a such way, that u-index is changing most quickly, and w-index (or v-index in case of 2d problems) most slowly. In case of elements with T-spline interpolation, the nodes forming the T-mesh of the element are ordered arbitrarily.

The supported \entKeyword{IGAElement} values are following:\\
\elemkeyword{bsplineplanestresselement}\\
\descitem{Parameters} None.\\
\elemkeyword{nurbsplanestresselement}\\
\descitem{Parameters} None.\\
\elemkeyword{nurbs3delement}\\
\descitem{Parameters} None.\\
\elemkeyword{tsplineplanestresselement}\\
\descitem{Parameters} \field{localindexknotvectoru}{in} \field{localindexknotvectorv}{in} \field{localindexknotvectorw}{in}\\
The parameters \param{localindexknotvectoru}, \param{localindexknotvectorv},\\ and \param{localindexknotvectorw} defined by the indices to global knot vectors (given by \param{knotvectoru}, \param{knotvectorv}, and \param{knotvectorw} parameters) specify the local knot vectors for each control point of T-mesh (node) in the same order as the nodes have been specified for the element. The local knot vector in a particular direction has $p+2$ entries, where the $p$ is the polynomial degree in that direction.


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Special elements}
\subsubsection{LumpedMass element}
This element, defined by a single node, allows to introduce additional concentrated mass and/or rotational inertias in a node.
A different mass and rotary inertia may be assigned to each coordinate direction. At present, individual mass/inertia components can be specified for  every degree of freedom of element node. Only displacement and rotational degrees od freedom are considered.  The element features are summarized in Table~\ref{LumpedMasssummary}.

\begin{elementsummary}{LumpedMass}{Lumped mass element}{\field{components}{ra}}{LumpedMass element summary}{LumpedMasssummary}
\elementParam{\param{components}: allows to specify additional concentrated mass components (Force*Time$^2$/Length) and rotary inertias (Force*Length*Time$^2$) about the nodal coordinate axes.}
\elementParam{\param{dofs}: dofs to which the components apply.
}
\elementDescription{Unknowns}{As specified by \param{dofs}.}
\elementDescription{Approximation}{-}
\elementDescription{Integration}{-}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Loads}{-}
\elementDescription{Status}{Reliable}
\end{elementsummary}

\subsubsection{Spring element}
This element represent longitudial or torsional spring element. It is defined by two nodes, orientation and a spring constant.
The spring element has no mass associated, the mass can be added using LumpedMass element. The spring is linear and works the same way in tension or in compression. The element features are summarized in Table~\ref{Springsummary}.

\begin{elementsummary}{Spring}{Spring element}{\field{mode}{in} \field{k}{rn} \optField{m}{rn} \field{orientation}{ra}}{Spring element summary}{Springsummary}
\elementParam{\param{mode}: defines the type of spring element (see Table~\ref{spring_mode_table}).}
\elementParam{\param{k}:  determines the spring constant, corresponding units are [Force/Length] for longitudinal spring and [Force*Length/Radian] for torsional spring.}
\elementParam{\param{orientation}:defines orientation vector of spring element (of size 3) - for longitudinal spring it defines the direction of spring, for torsional spring it defines the axis of rotation.}
\elementParam{\param{m}: determines optional mass of the element, zero value assumed by default.}
\elementDescription{Note}{the spring element nodes doesn't need to be coincident, but the spring orientation is always determined by \param{orientation} vector.}
\end{elementsummary}

\begin{table}
  \centering
  \begin{tabular}{lll}
    \hline
    mode & description\\
    \hline
    0 & 1D spring element along x-axis,\\
    & requires D\_u DOF in each node, orientation vector is \{1,0,0\}\\
    1 & 2D spring element in xy plane,\\
    & requires D\_u and D\_v DOFs in each node \\
    & (orientation vector should be in xy plane)\\
    2 & 2D spring element in xz plane,\\
    & requires D\_u and D\_w DOFs in each node \\
    & (orientation vector should be in xz plane)\\
    3 & 2D torsional spring element in xz plane,\\
    & requires R\_v DOFs in each node\\
    4 & 3D spring element in space,\\
    & requires D\_u, D\_v, and D\_w DOFs in each node\\
    5 & 3D torsional spring in space,\\
    & requires R\_u, R\_v, and R\_w DOFs in each node\\
    \hline
  \end{tabular}
  \caption{Supported spring element modes } \label{spring_mode_table}
\end{table}

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Geometric nonlinear analysis}
To take int account geometric nonlinearity for a specific element, the keyword \param{nlgeo} must be specified. The \param{nlgeo} parameter defines which formulation of the momentum balance is solved and what deformation measure that is computed and sent to the consitiutive models (see Table~\ref{strain_tensor_table}). 
If \param{nlgeo}=$1$, then the momentum balance is set up in the reference configuration in terms of the First Piola-Kirchhoff stress tensor $\mathbf{P}$ and the deformation tensor $\mathbf{F}$ as energy conjugates. This is also refered to a Total Lagrangian formulation. The balance equation in weak form reads
\begin{equation}
	\int_{\Omega} \delta \mathbf{F} : \mathbf{P} \mathrm{d} \Omega = \int_{\Gamma} \delta \mathbf{x} \cdot \mathbf{t}_P  \mathrm{d} \Gamma
	+ \int_{\partial \Omega} \delta \mathbf{x} \cdot \mathbf{b}_P  \mathrm{d} \Omega
\end{equation} 
This equation can be rewritten in terms of the displacement $\mathbf{u}$ and the displacement gradient $\mathbf{H}$ 
%
\begin{equation}
	\int_{\Omega} \delta \mathbf{H} : \mathbf{P} \mathrm{d} \Omega = \int_{\Gamma} \delta \mathbf{u} \cdot \mathbf{t}_P  \mathrm{d} \Gamma
	+ \int_{\partial \Omega} \delta \mathbf{u} \cdot \mathbf{b}_P  \mathrm{d} \Omega
\end{equation} 
This equation is nearly identical to the one for small strains except that another stress measure is used and we have the virtual displacement gradient 
instead of the virtual strains.

The corresponding FE-formulation is obtained as
\begin{equation}
	\int_{\Omega} \mathbf{B}_H^{\mathrm{T}} \cdot \mathbf{P} \mathrm{d} \Omega = \int_{\Gamma} \mathbf{N}^{\mathrm{T}} \cdot \mathbf{t}_P  \mathrm{d} \Gamma
	+ \int_{\partial \Omega} \delta \mathbf{N}^{\mathrm{T}} \cdot \mathbf{b}_P  \mathrm{d} \Omega
\end{equation} 
with the tangent stiffness
\begin{equation}
	\mathbf{K}_{\mathrm{T}} = \int_{\Omega} \mathbf{B}_H^{\mathrm{T}} \cdot \frac{\partial \mathbf{P}}{\partial \mathbf{F} } \cdot \mathbf{B}_H \mathrm{d} \Omega 
\end{equation} 
Thus, for an element to support large deformations (in addition to small deformation) it needs only to implement the $\mathbf{B}_H$ matrix. 
Similar to the regular \textbf{B} matrix, which gives the strains in Voigt form when multiplied with the solution vector $\textbf{a}$, 
$\textbf{B}_H$ should give the displacement gradient in Voigt form with 9 components for a full 3D state.
%
\begin{table}
  \centering
  \begin{tabular}{lll}
    \hline
    nlgeo & strain tensor\\
    \hline
    0 (default) & Small-strain tensor\\
    1 & Green-Lagrange strain tensor\\
    2 & Deformation gradient\\
    \hline
  \end{tabular}
  \caption{Nonlinear geometry modes} \label{strain_tensor_table}
\end{table}

%-----------------------------------------------------------------------------------------------
\clearpage
\section{Elements for Transport problems (TM Module)}
\subsection{1D Elements}
\subsubsection{Line1ht element}
\label{Line1ht}
Two node linear isoparametric element for for heat transfer problems. Each node has 1 degree of freedom.
The cross section property ``area'' is requested from the cross section. The
element geometry is specified in (x,y,z) plane. The element features are summarized in Table~\ref{Line1htsummary}.
Stabilization through lumped capacity matrix is suggested in transient transport problems, using \entKeywordInst{lumped}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{truss3d.tikz}
 \end{makeimage}
 \caption{Line1ht element in (x,y,z) space.}
\end{figure}

\begin{elementsummary}{Line1ht}{Line (truss-like) finite element with linear approximation for heat transfer problems}{-}{Line1ht element summary}{Line1htsummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used.}
\elementDescription{Unknowns}{Single dof (T\_f - temperature) is required in each node.}
\elementDescription{Approximation}{Linear approximation of temperature.}
\elementDescription{Integration}{Integration using one point gauss integration formula.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are unsupported.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{Area}
\elementDescription{Status}{Reliable}
\end{elementsummary}

\subsubsection{Line1mt element}
Line (truss-like) finite element with linear approximation of moisture.
Other features are the same as for Line1ht in Section~\ref{Line1ht}.

\subsubsection{Line1hmt element}
Line (truss-like) finite element with linear approximations of temperature and moisture. 
Other features are the same as for Tr1ht in Section~\ref{Line1ht}.




\subsection{2D Elements}
\subsubsection{Tr1ht element}
\label{Tr1ht}
Implements the linear triangular finite element for heat transfer problems. Each node has 1 degree of freedom.
The cross section thickness property is requested form cross section model.
The node numbering is anti-clockwise. The element features are summarized in Table~\ref{Tr1htsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{trplanstrss.tikz}
 \end{makeimage}
 \caption{Tr1ht element - node and side numbering.}
 \label{Tr1htfig}
\end{figure}

\begin{elementsummary}{Tr1ht}{triangular finite element with linear approximation for heat transfer problems}{-}{Tr1ht element summary}{Tr1htsummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used.}
\elementDescription{Unknowns}{Single dof (T\_f - temperature) is required in each node.}
\elementDescription{Approximation}{Linear approximation of temperature.}
\elementDescription{Integration}{Integration using one point gauss integration formula.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are
supported and are computed  using numerical integration. The side numbering is
following. Each i-th element side begins in i-th element node and
ends on next element node (i+1-th node or 1-st node, in the case of 
side number 3). The local positive edge x-axis coincides with side
direction, the positive local edge y-axis is rotated 90 degrees
anti-clockwise (see fig. (\ref{Tr1htfig})).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Status}{}
\end{elementsummary}

\subsubsection{Tr1mt element}
Isoparametric triangular finite element with linear approximation of moisture.
Other features are the same as for Tr1ht in Section~\ref{Tr1ht}.

\subsubsection{Tr1hmt element}
Isoparametric triangular finite element with linear approximations of 
temperature and moisture. 
Other features are the same as for Tr1ht in Section~\ref{Tr1ht}.


\subsubsection{Quad1ht element}
\label{Quad1ht}
Represents isoparametric four-node quadrilateral finite element for
heat transfer problems. Each node has 1 degree of freedom.
Problem should be defined in x,y plane. The cross section thickness
property is requested form cross section model.
The nodes should be numbered anti-clockwise (positive rotation around
z-axis). The element features are summarized in Table~\ref{Quad1htsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{planestress2d.tikz}
 \end{makeimage}

 \caption{Quad1ht element. Node numbering, Side numbering and
 definition of local edge c.s.(a).}
 \label{Quad1htfig}
\end{figure}

\begin{elementsummary}{Quad1ht}{Isoparametric four-node quadrilateral linear interpolation element for
heat transfer problems}{\optField{NIP}{in}}{Quad1ht element summary}{Quad1htsummary}
\elementParam{\param{NIP}: allows to change the default number of integration point used.}
\elementDescription{Unknowns}{Single dof (T\_f - temperature) is required in each node.}
\elementDescription{Approximation}{Linear approximation of temperature.}
\elementDescription{Integration}{Integration using gauss integration formula
in 4 (the default), 9, or 16 integration points. The default number of
integration point used can be overloaded using \param{NIP} parameter.}
\elementDescription{Loads}{ Body loads are supported. Boundary loads are
supported and computed using numerical integration. The side numbering is
following. Each i-th element side begins in i-th element node and
ends on next element node (i+1-th node or 1-st node, in the case of 
side number 4). The local positive edge x-axis coincides with side
direction, the positive local edge y-axis is rotated 90 degrees
anti-clockwise (see fig. (\ref{Quad1htfig})).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Status}{}
\end{elementsummary}

\subsubsection{Quad1mt element}
Isoparametric four-node quadrilateral finite element.
Other features are the same as for Quad1ht in Section~\ref{Quad1ht}.

\subsubsection{Quad1hmt element}
Represents isoparametric four-node quadrilateral finite element for
heat and mass (one constituent) transport problems. 
Two dofs (T\_f - temperature and C\_1 - concentration) are required in
each node. Linear approximation of temperature and mass concentration.
Other features are similar to Quad1 element, see section \ref{Quad1ht}.

\subsubsection{QQuad1ht element}
\label{QQuad1ht}
Represents isoparametric quadratic eight-node quadrilateral finite element for
heat transfer problems. Each node has 1 degree of freedom.
Problem should be defined in x,y plane. The cross section thickness
property is requested form the cross section model.
The nodes should be numbered anti-clockwise (positive rotation around
z-axis), see fig.~\ref{qplanstrssfig}. The element has the same features as in Table~\ref{Quad1htsummary}.

\subsubsection{QQuad1mt element}
Element for mass transport problems, see the parent element in sec.~\ref{QQuad1ht}. 

\subsubsection{QQuad1hmt element}
Element for heat and mass transport problems, see the parent element in sec.~\ref{QQuad1ht}.

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{Axisymmetric Elements}
\subsubsection{Quadaxisym1ht element}
Isoparametric four-node quadrilateral finite element for
axisymmetric heat transfer problems. The element description is
similar to Quad1 element, see section \ref{Quad1ht}.


\subsubsection{Traxisym1ht element}
Linear triangular finite element for axisymmetric heat transfer
problems. The element description is
similar to Tr1ht element, see section \ref{Tr1ht}.

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{3D Elements}
\subsubsection{Tetrah1ht - tetrahedral 3D element}
Represents isoparametric four-node tetrahedral element. Each node has 1 degree of freedom.
The same numbering convection is adopted as in mechanics, see Fig.~\ref{lintetrahedron_fig}. The element features are summarized in Table~\ref{Tetrah1htsummary}.

\begin{elementsummary}{Tetrah1ht}{Isoparametric, four-node tetrahedral element with linear approximation for heat transfer problems}{\optField{NIP}{in}}{Tetrah1ht element summary}{Tetrah1htsummary}
\elementParam{\param{NIP}: allows to change the default number of integration point used.}
\elementDescription{Unknowns}{Single dof (T\_f - temperature) is required in each node.}
\elementDescription{Approximation}{Linear approximation of temperature.}
\elementDescription{Integration}{Integration using gauss integration formula
in 1 (the default), or 4 integration points. The default number of
integration point used can be overloaded using \param{NIP} parameter.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are
supported and computed using numerical integration. The side and
surface numbering is shown in Fig.~\ref{lintetrahedron_fig}.}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Status}{}
\end{elementsummary}


\subsubsection{Brick1ht - hexahedral 3D element}
\label{Brick1ht}
Represents isoparametric eight-node brick/hexahedron finite element for
heat transfer problems. Each node has 1 degree of freedom. The element features are summarized in Table~\ref{Brick1htsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{hexa_lin.tikz}
 \end{makeimage}
 \caption{Brick1ht element. Node numbers are in black, side numbers are in blue,
 and surface numbers are in red.}
 \label{Brick1htfig}
\end{figure}

\begin{elementsummary}{Brick1ht}{Isoparametric, hexahedral 3D element with linear approximation for heat transfer problems}{\optField{NIP}{in}}{Brick1ht element summary}{Brick1htsummary}
\elementParam{\param{NIP}: allows to change the default number of integration point used.}
\elementDescription{Unknowns}{Single dof (T\_f - temperature) is required in each node.}
\elementDescription{Approximation}{Linear approximation of temperature.}
\elementDescription{Integration}{Integration using gauss integration formula
in 8 (the default), or 27 integration points. The default number of
integration point used can be overloaded using \param{NIP} parameter.}
\elementDescription{Loads}{Body loads are supported. Boundary loads are
supported and computed using numerical integration. The side and
surface numbering is shown in fig. (\ref{Brick1htfig})).}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Status}{}
\end{elementsummary}

\subsubsection{Brick1hmt - hexahedral 3D element}
Represents isoparametric eight-node quadrilateral finite element for
heat and mass (one constituent) transfer problems. 
Two dofs (T\_f - temperature and C\_1 - concentration) are required in
each node. Linear approximation of temperature and mass concentration.
Other features are similar to Brick1 element, see section \ref{Brick1ht}.
%\subsection{Other Elements}

\subsubsection{QBrick1ht - quadratic hexahedral 3D element}\label{QBrick1ht_element}
Implementation of quadratic 3d 20-node 
finite element. Each node has 1 degree of freedom. See section ~\ref{QSpace_element} 
for node numbering order and order of faces. The element features are summarized in Table~\ref{QBrick1htsummary}.

\begin{elementsummary}{QBrick1ht}{Isoparametric, hexahedral 3D element with quadratic approximation for heat transfer problems}{\optField{NIP}{in}}{QBrick1ht element summary}{QBrick1htsummary}
\elementParam{\param{NIP}: allows to change the default number of integration point used, possible values are 8, 27 (default) and 64.}
\elementDescription{Unknowns}{Single dof (T\_f - temperature) is required in each node.}
\elementDescription{Approximation}{Quadratic approximation of temperature and
geometry..}
\elementDescription{Integration}{Integration using gauss integration formula
in 8, 27 (default), or 64 integration points. The default number of
integration point used can be overloaded using \param{NIP} parameter.}
\elementDescription{Loads}{-}
\elementDescription{Features}{-}
\elementDescription{CS properties}{-}
\elementDescription{Status}{}
\end{elementsummary}

\subsubsection{QBrick1mt - quadratic hexahedral 3D element}
The same element as QBrick1ht for mass transfer problems, see \ref{QBrick1ht_element}. 
Linear approximation of mass concentration.

\subsubsection{QBrick1hmt - quadratic hexahedral 3D element}
The same element as QBrick1ht for
heat and mass (one constituent) transfer problems. 
Two dofs (T\_f - temperature and C\_1 - concentration) are required in
each node. Linear approximation of temperature and mass concentration.
Other features are similar to QBrick1ht element, see section \ref{QBrick1ht_element}.


%-----------------------------------------------------------------------------------------------
\clearpage
\section{Elements for Fluid Dynamics problems (FM Module)}
\subsection{Stokes' Flow Elements}
Stokes' flow elements neglect acceleration, and thus requires no additional stabilization.

\subsubsection{Tr21Stokes element}
Standard 6 node triangular element for stokes flow, with quadratic geometry, velocity and linear pressure.
Both compressible and incompressible material behavior is supported (and also the seamless transition between the two).
The element features are summarized in Table~\ref{Tr121Stokessummary}.

\begin{elementsummary}{Tr121Stokes}{Standard 6 node triangular element for stokes flow, with quadratic geometry, velocity and linear pressure}{-}{Tr121Stokes element summary}{Tr121Stokessummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used, possible values are 8, 27 (default) and 64.}
\elementDescription{Unknowns}{Unknown pressure in nodes 1--3 with unknown velocity (V\_u and V\_v) in all 6 nodes.}
\elementDescription{Approximation}{Quadratic approximation of geometry and velocity, linear pressure approximation.}
\elementDescription{Integration}{}
\elementDescription{Features}{-}
\elementDescription{Status}{Reliable}
\end{elementsummary}

\subsubsection{Tet21Stokes element}
Standard 10 node tetrahedral element for stokes flow, with quadratic geometry, velocity and linear pressure. The element features are summarized in Table~\ref{Tet21Stokessummary}.

\begin{elementsummary}{Tet21Stokes}{Standard 10 node tetrahedral element for stokes flow, with quadratic geometry, velocity and linear pressure}{-}{Tet21Stokes element summary}{Tet21Stokessummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used, possible values are 8, 27 (default) and 64.}
\elementDescription{Unknowns}{Unknown pressure (P\_f) in nodes 1--4, and unknown velocity (V\_u, V\_v, V\_w) in all nodes.}
\elementDescription{Approximation}{Quadratic approximation of geometry and velocity, linear pressure approximation.}
\elementDescription{Integration}{}
\elementDescription{Features}{-}
\elementDescription{Status}{Untested}
\end{elementsummary}

\subsubsection{Hexa21Stokes element}
Standard 27 node hexahedral element for stokes flow, with quadratic geometry, velocity and linear pressure. The element features are summarized in Table~\ref{Hexa21Stokessummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \raisebox{-0.5\height}{\input{hexa_triquad_a.tikz}}
  \raisebox{-0.5\height}{\input{hexa_quad_b.tikz}}
 \end{makeimage}
 \caption{Hexa21Stokes element. Node numbering and face numbering.}
 \label{Hexa21Stokes}
\end{figure}

\begin{elementsummary}{Hexa21Stokes}{Standard 10 node tetrahedral element for stokes flow, with quadratic geometry, velocity and linear pressure}{-}{Hexa21Stokes element summary}{Hexa21Stokessummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used, possible values are 8, 27 (default) and 64.}
\elementDescription{Unknowns}{Unknown pressure (P\_f) in nodes 1--8, and unknown velocity (V\_u, V\_v, V\_w) in all nodes.}
\elementDescription{Approximation}{Quadratic approximation of geometry and velocity, linear pressure approximation.}
\elementDescription{Integration}{}
\elementDescription{Features}{-}
\elementDescription{Status}{Untested}
\end{elementsummary}


\subsubsection{Tr1BubbleStokes element}
So called ``Mini'' element in 2D. A 3 node triangular element for stokes flow, with linear geometry and pressure. Velocity is enriched by a bubble function.
Should not be used with materials that have memory (which is uncommon for flow problems). The element features are summarized in Table~\ref{Tr1BubbleStokessummary}.

\begin{elementsummary}{Tr1BubbleStokes}{So called ``Mini'' 2D element}{-}{Tr1BubbleStokes element summary}{Tr1BubbleStokessummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used, possible values are 8, 27 (default) and 64.}
\elementDescription{Unknowns}{Unknown pressure (P\_f) in all nodes, and unknown velocity (V\_u, V\_v) in all nodes and one internal dof manager.}
\elementDescription{Approximation}{Linear geometry and pressure. Velocity is enriched by a bubble function.}
\elementDescription{Integration}{}
\elementDescription{Features}{-}
\elementDescription{Status}{Untested}
\end{elementsummary}

\subsubsection{Tet1BubbleStokes element}
So called ``Mini'' element in 3D. A 4 node tetrahedral element for stokes flow, with linear geometry and pressure. Velocity is enriched by a bubble function.
Should not be used with materials that have memory (which is uncommon for flow problems). The element features are summarized in Table~\ref{Tet1BubbleStokessummary}.

\begin{elementsummary}{Tet1BubbleStokes}{So called ``Mini'' 3D element}{-}{Tet1BubbleStokes element summary}{Tet1BubbleStokessummary}
%\elementParam{\param{NIP}: allows to change the default number of integration point used, possible values are 8, 27 (default) and 64.}
\elementDescription{Unknowns}{Unknown pressure (P\_f) in all nodes, and unknown velocity (V\_u, V\_v) in all nodes and one internal dof manager.}
\elementDescription{Approximation}{Linear geometry and pressure. Velocity is enriched by a bubble function.}
\elementDescription{Integration}{}
\elementDescription{Features}{-}
\elementDescription{Status}{Untested}
\end{elementsummary}

%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{2D CBS Elements}
\subsubsection{Tr1CBS element}
\label{Tr1CBS}
Represents the linear triangular finite element for transient
incompressible flow analysis using cbs algorithm with equal order
approximation of velocity and pressure fields. Each node has 3 degrees
of freedoms (two components of velocity and pressure).
The node numbering is anti-clockwise. The element features are summarized in Table~\ref{Tr1CBSsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{trplanstrss.tikz}
 \end{makeimage}
 \caption{Tr1CBS element. Node numbering, Side numbering and
 definition of local edge c.s.(a).}
 \label{Tr1CBSfig}
\end{figure}

\begin{elementsummary}{Tr1CBS}{linear triangular finite element for transient
incompressible flow analysis using cbs algorithm}{\optField{bsides}{ia} \optField{bcodes}{ia}}{Tr1CBS element summary}{Tr1CBSsummary}
\elementParam{Since the problem formulation requires to evaluate some boundary terms,
the element boundary edges should be specified as well as the types of
boundary conditions applied at these boundary edges. The boundary
edges (their numbers) are specified using \param{bsides} array. The
type of boundary condition(s) applied to corresponding boundary side
is determined by \param{bcodes} array. The available/supported
boundary codes are following: 1 for prescribed traction, 2 for
prescribed normal velocity, 4 for prescribed tangential velocity, and
8 for prescribed pressure. If the element side is subjected to a
combination of these fundamental types boundary conditions, the
corresponding code is obtained by summing up the corresponding codes.}
\elementDescription{Unknowns}{Two velocity components (V\_u and V\_v) and pressure (P\_f) are required in each node.}
\elementDescription{Approximation}{Equal order
approximation of velocity and pressure fields.}
\elementDescription{Integration}{exact}
\elementDescription{Features}{Constant boundary tractions are supported\footnote{In CBS algorithm formulation the prescribed traction
boundary condition leads indirectly to pressure boundary condition in
nodes associated to loaded edge. Such boundary condition is
represented by PrescribedTractionPressureBC. See section on boundary
conditions in OOFEM input manual.}. Body loads
representing the self-weight load are supported.}
\elementDescription{Status}{Untested}
\end{elementsummary}


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{2D SUPG/PSGP Elements}
\subsubsection{Tr1SUPG element}
\label{Tr1SUPG}
Represents the linear triangular finite element for transient
incompressible flow analysis using SUPG/PSPG stabilization with equal order
approximation of velocity and pressure fields. Each node has 3 degrees
of freedoms (two components of velocity and pressure).
The node numbering is anti-clockwise. The element features are summarized in Table~\ref{Tr1SUPGsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{trplanstrss.tikz}
 \end{makeimage}
 \caption{Tr1SUPG element. Node numbering, Side numbering and
 definition of local edge c.s.(a).}
 \label{Tr1SUPG2fig}
\end{figure}

\begin{elementsummary}{Tr1SUPG}{linear triangular finite element for transient
incompressible flow analysis using SUPG/PSPG algorithm}{\optField{vof}{rn} \optField{pvof}{rn}}{Tr1SUPG element summary}{Tr1SUPGsummary}
\elementDescription{Unknowns}{Two velocity components (V\_u and V\_v) and pressure (P\_f) are required in each node.}
\elementDescription{Approximation}{Linear approximation of velocity and pressure fields.}
\elementDescription{Integration}{exact}
\elementDescription{Loads}{Constant boundary tractions are supported. Body loads
representing the self-weight load are supported.}
\elementDescription{Multi-fluid analysis}{The element has support for solving
problems with two immiscible fluids in
a fixed spatial domain. In the present implementation, a VOF and LevelSet tracking algorithms
are used to track the position of interface. In case of VOF tracking, an initial VOF fraction
(volume fraction of reference fluid) can be specified using
\param{vof} (default is zero). Element can also be marked as allways
filled with reference fluid (some form of source) using parameter
\param{pvof} which specifies the permanent VOF value. In case of LevelSet tracking, the initial levelset is specified using 
reference polygon (see corresponding levelset record in oofem input manual).
The material model should be of type \elemkeyword{twofluidmat}, that
supports modelling of two immiscible fluids.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection{Tr21SUPG element}
\label{Tr21SUPG}
Implementation of P2P1 Taylor Hood element for transient incompressible flow analysis 
using SUPG and LSIC stabilization. It consists of globally continuous, piecewise quadratic functions for 
approximation in velocity space and globally continuous, piecewise linear functions for
approximation in pressure space. LBB condition is satisfied. There are 3 degrees
of freedom in vertices (two components of velocity and pressure), and 2 degrees of freedom
in edge nodes (two components of velocity only).
The node numbering is anti-clockwise, vertices are numbered first. The element features are summarized in Table~\ref{Tr21SUPGsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{qtrplanstrss.tikz}
 \end{makeimage}
 \caption{Tr21SUPG element - node and side numbering.}
 \label{Tr21SUPGfig}
\end{figure}

\begin{elementsummary}{Tr21SUPG}{P2P1 Taylor Hood element}{-}{Tr21SUPG element summary}{Tr21SUPGsummary}
\elementDescription{Unknowns}{Two velocity components (V\_u and V\_v) and pressure (P\_f) in vertices and two velocity components (V\_u and V\_v) in edge nodes are required.}
\elementDescription{Approximation}{Quadratic approximation of velocity and linear approximation of pressure fields.}
\elementDescription{Integration}{Integration is exact, each submatrix of element stiffness matrix is evaluated in proper number of
Gauss points. Submatrices connected with velocity are evaluated in 7 or 13 points, mixed velocity-pressure
submatrices in 3 or 7 points, submatrices connected with pressure in 3 points.}
\elementDescription{Loads}{Constant boundary tractions are supported. Body loads
representing the self-weight load are supported.}
\elementDescription{Multi-fluid analysis}{The element has no support for solving
problems with two immiscible fluids in a fixed spatial domain.}
\elementDescription{Status}{Reliable}
\end{elementsummary}


\subsubsection{Tr1SUPGAxi element}
\label{Tr1SUPGAxi}
Represents the linear triangular finite element for transient
incompressible flow analysis using SUPG/PSPG stabilization with equal order
approximation of velocity and pressure fields in 2d-axisymmetric setting. Each node has 3 degrees
of freedoms (two components of velocity and pressure). The y-axis is
axis of ratational symmetry. The node numbering is anti-clockwise. The element features are summarized in Table~\ref{Tr1SUPGAxisummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{trplanstrss.tikz}
 \end{makeimage}
 \caption{Tr1SUPGAxi element. Node numbering, Side numbering and
 definition of local edge c.s.(a).}
 \label{Tr1SUPGAxifig}
\end{figure}

\begin{elementsummary}{Tr1SUPGAxi}{linear equal order approximation axisymmetric element}
  {\optField{vof}{rn}\optField{pvof}{rn}}{Tr1SUPGAxi element summary}{Tr1SUPGAxisummary}
\elementDescription{Unknowns}{Two velocity components (V\_u and V\_v) and pressure (P\_f) are required in each node.}
\elementDescription{Approximation}{Linear approximation of velocity and pressure fields.}
\elementDescription{Integration}{Gauss integration in seven point employed.}
\elementDescription{Loads}{Constant boundary tractions are supported. Body loads
representing the self-weight load are supported.}
\elementDescription{Multi-fluid analysis}{The element has support for solving
problems with two immiscible fluids in
a fixed spatial domain. In the present implementation, a VOF tracking algorithm
is used to track the position of interface. An initial VOF fraction
(volume fraction of reference fluid) can be specified using
\param{vof} (default is zero). Element can also be marked as always
filled with reference fluid (some form of source) using parameter
\param{pvof} which specifies the permanent VOF value. In this case,
the material model should be of type \elemkeyword{twofluidmat}, that
supports modelling of two immiscible fluids.}
\elementDescription{Status}{}
\end{elementsummary}


%-----------------------------------------------------------------------------------------------
\clearpage
\subsection{3D SUPG/PSGP Elements}
\subsubsection{Tet1\_3D\_SUPG element}
\label{PY1_3D_SUPG}
Represents 3D linear pyramid element for transient
incompressible flow analysis using SUPG/PSPG stabilization with equal order
approximation of velocity and pressure fields. Each node has 3 degrees
of freedoms (two components of velocity and pressure). The element features are summarized in Table~\ref{TET1SUPGsummary}.

\begin{figure}[htb]
 \centering
 \begin{makeimage}
  \input{tetrahedra_lin.tikz}
 \end{makeimage}
 \caption{Tet1\_3D\_SUPG element.}
 \label{PY1_3D_SUPGfig}
\end{figure}

\begin{elementsummary}{TET1SUPG}{linear equal order approximation axisymmetric element}
  {\optField{vof}{rn}\optField{pvof}{rn}}{TET1SUPG element summary}{TET1SUPGsummary}
\elementDescription{Unknowns}{Three velocity components (V\_u, V\_v, and V\_w) and pressure (P\_f) are required in each node.}
\elementDescription{Approximation}{Linear approximation of velocity and pressure fields.}
\elementDescription{Integration}{exact}
\elementDescription{Loads}{Constant boundary tractions are supported. Body loads
representing the self-weight load are supported.}
\elementDescription{Multi-fluid analysis}{The element has support for solving
problems with two immiscible fluids in
a fixed spatial domain. In the present implementation, a LevelSet tracking algorithm
is used to track the position of interface. 
The material model should be of type \elemkeyword{twofluidmat}, that
supports modelling of two immiscible fluids.}
\elementDescription{Status}{}
\end{elementsummary}


% References;
%\printbibliography

\begin{thebibliography}{99}


\bibitem{RobertCook1989} R. D. Cook and D. S. Malkus and M. E. Plesha, ``Concepts and Applications of Finite Element Analysis'', Third Edition, isbn: 0-471-84788-7, 1989.
\bibitem{BittnarSejnoha1996} Z. Bittnar and J. Sejnoha, ``Numerical Methods in Structural Mechanics'',Thomas Telford,isbn:978-0784401705, 1996.
\bibitem{RagnarLarsson2011} R. Larsson and J. Mediavilla and M. Fagerström, ``Dynamic fracture modeling in shell structures based on XFEM'', International Journal for Numerical Methods in Engineering, vol. 86, no. 4-5, 499--527, 2011.
\bibitem{GraJir10} P. Grassl and M. Jir\'{a}sek, ``Meso-scale approach to modelling the fracture process zone of concrete subjected to uniaxial tension'', International Journal of Solids and Structures, vol. 47, iss. 7-8, pp. 957-968, 2010..
\bibitem{GraBol16} P. Grassl, J. Bolander, ``Three-Dimensional Network Model for Coupling of Fracture and Mass Transport in Quasi-Brittle Geomaterials'', Materials, 9, 782, 2016
\bibitem{AthWheGra18} I. Athanasiadis, S. Wheeler and P. Grassl. ``Hydro-mechanical network modelling of particulate composites'', International Journal of Solids and Structures, vol. 130-131, pp. 49-60, 2018.
\bibitem{GraAnt19} P. Grassl and A. Antonelli. ``3D network modelling of fracture processes in fibre-reinforced geomaterials'', International Journal of Solids and Structures, vol. 156-157, Pages 234-242, 2019.

  
\end{thebibliography}
\end{document}


